JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
C and C++

C/C++ Unnormalized AST Classes

This is the class hierarchy for unnormalized C/C++ ASTs.

The family for these ASTs is represented in the various API implementations as follows.



API Usage

When specifying AST patterns, always use canonical class names and field labels as shown in the class documentation.

For example, pattern (c:= :type (c:integer)) matches an AST of class c:= whose :type attribute is an AST of class c:integer. All API implementations use these class and ordinal names for pattern specification, as shown in the following table.

API ImplementationPattern Example
C++ cs::ast_pattern("(c:= :type (c:integer))")
Python cs.ast_pattern("(c:= :type (c:integer))")
C cs_ast_pattern_compile("(c:= :type (c:integer))", pat, err, errloc)

Otherwise, use the API-implementation-specific representations of classes and ordinals.

For example:

API ImplementationExample
C++
  • ast.is_a(cs::ast_class::UC_ABSTRACT_CONSTANT)
  • ast[cs.ast_ordinal.NC_SIZE]
Python
  • ast.is_a(cs.ast_class.UC_ABSTRACT_CONSTANT)
  • ast[cs.ast_ordinal.NC_SIZE]
C

AST Classes

CLASS cc:ast
API Representation
C++cs::ast_class::UC_ABSTRACT_AST
Pythoncs.ast_class.UC_ABSTRACT_AST
Ccsac_uc_abstract_ast
Canonical namecc:ast
Superclass ast-root
Subclasses
Attributes
:uid
C++ cs::ast_ordinal::UC_UID
Python cs.ast_ordinal.UC_UID
C csao_uc_uid
UINT32
Notes Base class for all unnormalized C and C++ ASTs.
CLASS cc:scope
API Representation
C++cs::ast_class::UC_ABSTRACT_SCOPE
Pythoncs.ast_class.UC_ABSTRACT_SCOPE
Ccsac_uc_abstract_scope
Canonical namecc:scope
Superclass cc:ast
Subclasses
Children
:constants
C++ cs::ast_ordinal::UC_CONSTANTS
Python cs.ast_ordinal.UC_CONSTANTS
C csao_uc_constants
cc:ast-list
List of named constants (cc:constant) of this scope.
:types
C++ cs::ast_ordinal::UC_TYPES
Python cs.ast_ordinal.UC_TYPES
C csao_uc_types
cc:ast-list
List of local types (cc:type) of this scope.
:variables
C++ cs::ast_ordinal::UC_VARIABLES
Python cs.ast_ordinal.UC_VARIABLES
C csao_uc_variables
cc:ast-list
List of local variables (cc:variable) of this scope. In a cc:function-scope or cc:block-scope, this is the list of variables with static allocation; in a scope for a class, this is the list of static data members.
:nonstatic-variables
C++ cs::ast_ordinal::UC_NONSTATIC_VARIABLES
Python cs.ast_ordinal.UC_NONSTATIC_VARIABLES
C csao_uc_nonstatic_variables
cc:ast-list
List of local nonstatic variables (cc:variable) in a cc:function-scope or cc:block-scope.
:routines
C++ cs::ast_ordinal::UC_ROUTINES
Python cs.ast_ordinal.UC_ROUTINES
C csao_uc_routines
cc:ast-list
List of local routines (cc:routine) of this scope. Includes both routines with definitions and those that are just declarations of interfaces to external routines. In a scope for a class, points to a list of the member functions for the class (both static and non-static).
:pragmas
C++ cs::ast_ordinal::UC_PRAGMAS
Python cs.ast_ordinal.UC_PRAGMAS
C csao_uc_pragmas
cc:ast-list
List of pragma entries (cc:pragma). They may be bound to specific declarations or statements or they may be unbound, meaning they have general effect over this scope.
:templates
C++ cs::ast_ordinal::UC_TEMPLATES
Python cs.ast_ordinal.UC_TEMPLATES
C csao_uc_templates
cc:ast-list
List of template entries (cc:template). Only used in C++.
:dynamic-inits
C++ cs::ast_ordinal::UC_DYNAMIC_INITS
Python cs.ast_ordinal.UC_DYNAMIC_INITS
C csao_uc_dynamic_inits
cc:ast-list
List of dynamic initializations (cc:dynamic-init) to be done in the scope, in the order they should be done (C++ only).
:namespaces
C++ cs::ast_ordinal::UC_NAMESPACES
Python cs.ast_ordinal.UC_NAMESPACES
C csao_uc_namespaces
cc:ast-list
List of namespaces and namespace-aliases (cc:namespace) defined within the current scope (C++ only). Will contain only namespace-alias entries in cc:function-scopes and cc:block-scopes, to either in cc:file-scopes and cc:namespace-scopes.
:using-decls
C++ cs::ast_ordinal::UC_USING_DECLS
Python cs.ast_ordinal.UC_USING_DECLS
C csao_uc_using_decls
cc:ast-list
List of using-declarations (cc:using-decl) appearing within the current scope (C++ only).
:using-directives
C++ cs::ast_ordinal::UC_USING_DIRECTIVES
Python cs.ast_ordinal.UC_USING_DIRECTIVES
C csao_uc_using_directives
cc:ast-list
List of using-directives (cc:using-decl) appearing within the current scope (C++ only).
Notes Base class for scope ASTs.
CLASS cc:executable-scope
API Representation
C++cs::ast_class::UC_ABSTRACT_EXECUTABLE_SCOPE
Pythoncs.ast_class.UC_ABSTRACT_EXECUTABLE_SCOPE
Ccsac_uc_abstract_executable_scope
Canonical namecc:executable-scope
Superclass cc:scope
Subclasses
Attributes
:labels
C++ cs::ast_ordinal::UC_LABELS
Python cs.ast_ordinal.UC_LABELS
C csao_uc_labels
cc:ast-list
List of local labels (cc:label) of this scope. Only used at the function scope level and for locally declared labels in GNU C mode.
:local-scopes
C++ cs::ast_ordinal::UC_LOCAL_SCOPES
Python cs.ast_ordinal.UC_LOCAL_SCOPES
C csao_uc_local_scopes
cc:ast-list
List of local scopes (cc:scope) under this scope. Note that block scopes inside block scopes will appear on the scopes list for those block scopes, not at the function scope level.
Notes Base class for function scope and block scope ASTs.
CLASS cc:non-executable-scope
API Representation
C++cs::ast_class::UC_ABSTRACT_NON_EXECUTABLE_SCOPE
Pythoncs.ast_class.UC_ABSTRACT_NON_EXECUTABLE_SCOPE
Ccsac_uc_abstract_non_executable_scope
Canonical namecc:non-executable-scope
Superclass cc:scope
Subclasses
Children
:asm-entries
C++ cs::ast_ordinal::UC_ASM_ENTRIES
Python cs.ast_ordinal.UC_ASM_ENTRIES
C csao_uc_asm_entries
cc:ast-list
List of asm entries representing asm declarations (cc:asm-entry) that appear in the current scope. (Note that asm entries associated with asm statements do not show up on this list. Neither are asm functions included in the list.)
CLASS cc:type
API Representation
C++cs::ast_class::UC_ABSTRACT_TYPE
Pythoncs.ast_class.UC_ABSTRACT_TYPE
Ccsac_uc_abstract_type
Canonical namecc:type
Superclass cc:ast
Subclasses
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
Attributes
:size
C++ cs::ast_ordinal::UC_SIZE
Python cs.ast_ordinal.UC_SIZE
C csao_uc_size
SIZE_T
sizeof() for this type, or 0 if the type is incomplete. Also 0 for typeref references, even if the referenced type is not incomplete.
:is-complete
C++ cs::ast_ordinal::UC_IS_COMPLETE
Python cs.ast_ordinal.UC_IS_COMPLETE
C csao_uc_is_complete
BOOLEAN
Incomplete types are types that have no size and are not functions. (In GNU C mode, there are zero-sized arrays and they are considered complete.)
:prettyprinted-form
C++ cs::ast_ordinal::UC_PRETTYPRINTED_FORM
Python cs.ast_ordinal.UC_PRETTYPRINTED_FORM
C csao_uc_prettyprinted_form
STRING
The full name of the type.
:ms-w64-type
C++ cs::ast_ordinal::UC_MS_W64_TYPE
Python cs.ast_ordinal.UC_MS_W64_TYPE
C csao_uc_ms_w64_type
BOOLEAN
When not unavailable, true if this type is declared using the Microsoft __w64 specifier.
Notes Base class for type ASTs.
CLASS cc:constant
API Representation
C++cs::ast_class::UC_ABSTRACT_CONSTANT
Pythoncs.ast_class.UC_ABSTRACT_CONSTANT
Ccsac_uc_abstract_constant
Canonical namecc:constant
Superclass cc:ast
Subclasses
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
If the constant is not just a literal this is the cc:expr representing that constant. Otherwise, unavailable.
:is-enum
C++ cs::ast_ordinal::UC_IS_ENUM
Python cs.ast_ordinal.UC_IS_ENUM
C csao_uc_is_enum
BOOLEAN
true if this is from an enum constant.
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type of the constant. Note that an cc:init-repeat or cc:designator entry has unavailable in this field.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file instance in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:null-keyword
C++ cs::ast_ordinal::UC_NULL_KEYWORD
Python cs.ast_ordinal.UC_NULL_KEYWORD
C csao_uc_null_keyword
BOOLEAN
If true, this constant was expressed with a special GNU keyword __null in the source.
:nullptr-keyword
C++ cs::ast_ordinal::UC_NULLPTR_KEYWORD
Python cs.ast_ordinal.UC_NULLPTR_KEYWORD
C csao_uc_nullptr_keyword
BOOLEAN
If true, this constant was expressed with the nullptr keyword.
:native-nullptr-keyword
C++ cs::ast_ordinal::UC_NATIVE_NULLPTR_KEYWORD
Python cs.ast_ordinal.UC_NATIVE_NULLPTR_KEYWORD
C csao_uc_native_nullptr_keyword
BOOLEAN
If true, this constant was expressed with the __nullptr keyword. This is used to distinguish between nullptr and __nullptr in C++/CLI mode, where the keywords have different types
:is-pack-expansion
C++ cs::ast_ordinal::UC_IS_PACK_EXPANSION
Python cs.ast_ordinal.UC_IS_PACK_EXPANSION
C csao_uc_is_pack_expansion
BOOLEAN
true (in an aggregate initializer list) this constant represents a variadic template pack expansion. When that's the case, the correspondence between initializer constants and initialized members can't be maintained.
Notes Base class for constant ASTs.
CLASS cc:expr
API Representation
C++cs::ast_class::UC_ABSTRACT_EXPR
Pythoncs.ast_class.UC_ABSTRACT_EXPR
Ccsac_uc_abstract_expr
Canonical namecc:expr
Superclass cc:ast
Subclasses
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type of the expr.
:gnu-marked-as-gnu-extension
C++ cs::ast_ordinal::UC_GNU_MARKED_AS_GNU_EXTENSION
Python cs.ast_ordinal.UC_GNU_MARKED_AS_GNU_EXTENSION
C csao_uc_gnu_marked_as_gnu_extension
BOOLEAN
true if the expression was preceded by the GNU keyword __extension__.
:is-pack-expansion
C++ cs::ast_ordinal::UC_IS_PACK_EXPANSION
Python cs.ast_ordinal.UC_IS_PACK_EXPANSION
C csao_uc_is_pack_expansion
BOOLEAN
true if this is a variadic template pack expansion, i.e., an expression followed by "...".
:is-parenthesized
C++ cs::ast_ordinal::UC_IS_PARENTHESIZED
Python cs.ast_ordinal.UC_IS_PARENTHESIZED
C csao_uc_is_parenthesized
BOOLEAN
true if this expression was parenthesized in the source.
Notes Base class for expression ASTs.
CLASS cc:statement
API Representation
C++cs::ast_class::UC_ABSTRACT_STATEMENT
Pythoncs.ast_class.UC_ABSTRACT_STATEMENT
Ccsac_uc_abstract_statement
Canonical namecc:statement
Superclass cc:ast
Subclasses
Children
:attributes
C++ cs::ast_ordinal::UC_ATTRIBUTES
Python cs.ast_ordinal.UC_ATTRIBUTES
C csao_uc_attributes
cc:ast-list
The set of cc:attributes applicable to this statement.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:column-position
C++ cs::ast_ordinal::UC_COLUMN_POSITION
Python cs.ast_ordinal.UC_COLUMN_POSITION
C csao_uc_column_position
UINT32
Column number on which this AST occurs.
:has-associated-pragma
C++ cs::ast_ordinal::UC_HAS_ASSOCIATED_PRAGMA
Python cs.ast_ordinal.UC_HAS_ASSOCIATED_PRAGMA
C csao_uc_has_associated_pragma
BOOLEAN
true if cc:pragma has been created and bound to this statement.
:is-initialization-guard
C++ cs::ast_ordinal::UC_IS_INITIALIZATION_GUARD
Python cs.ast_ordinal.UC_IS_INITIALIZATION_GUARD
C csao_uc_is_initialization_guard
BOOLEAN
true if this statement is an if that guards a first-time test on an initialization. When generating thread-safe code, the if and the first initialization within it should be rendered as an atomic test-and-set.
Notes Base class for statement ASTs.
CLASS cc:enhanced-for
API Representation
C++cs::ast_class::UC_ABSTRACT_ENHANCED_FOR
Pythoncs.ast_class.UC_ABSTRACT_ENHANCED_FOR
Ccsac_uc_abstract_enhanced_for
Canonical namecc:enhanced-for
Superclass cc:statement
Subclasses
Children
:collection
C++ cs::ast_ordinal::UC_COLLECTION
Python cs.ast_ordinal.UC_COLLECTION
C csao_uc_collection
cc:dynamic-init
A reference to the collection, used to initialize a temporary variable which is in turn used in other expressions.
:body
C++ cs::ast_ordinal::UC_BODY
Python cs.ast_ordinal.UC_BODY
C csao_uc_body
cc:statement
The statement that is the body of the loop that is to be executed on each iteration of the loop; unavailable if there is none.
:for-each-scope
C++ cs::ast_ordinal::UC_FOR_EACH_SCOPE
Python cs.ast_ordinal.UC_FOR_EACH_SCOPE
C csao_uc_for_each_scope
cc:block-scope
An scope added to surround the for-each statement.
:iterator-scope
C++ cs::ast_ordinal::UC_ITERATOR_SCOPE
Python cs.ast_ordinal.UC_ITERATOR_SCOPE
C csao_uc_iterator_scope
cc:block-scope
An scope added immediately inside the loop, in which the iterator variable is declared.
Attributes
:iterator-variable
C++ cs::ast_ordinal::UC_ITERATOR_VARIABLE
Python cs.ast_ordinal.UC_ITERATOR_VARIABLE
C csao_uc_iterator_variable
cc:variable
The iterator variable. At most one of csao_uc_iterator_variable and csao_uc_iterator_field is available. For well-formed code, exactly one of them is.
:iterator-field
C++ cs::ast_ordinal::UC_ITERATOR_FIELD
Python cs.ast_ordinal.UC_ITERATOR_FIELD
C csao_uc_iterator_field
cc:field
The iterator field. At most one of csao_uc_iterator_variable and csao_uc_iterator_field is available. For well-formed code, exactly one of them is.
CLASS cc:initializer
API Representation
C++cs::ast_class::UC_ABSTRACT_INITIALIZER
Pythoncs.ast_class.UC_ABSTRACT_INITIALIZER
Ccsac_uc_abstract_initializer
Canonical namecc:initializer
Superclass cc:ast
Subclasses
Notes Base class for initializer ASTs.
CLASS cc:template-arg
API Representation
C++cs::ast_class::UC_ABSTRACT_TEMPLATE_ARG
Pythoncs.ast_class.UC_ABSTRACT_TEMPLATE_ARG
Ccsac_uc_abstract_template_arg
Canonical namecc:template-arg
Superclass cc:ast
Subclasses
Attributes
:is-pack-element
C++ cs::ast_ordinal::UC_IS_PACK_ELEMENT
Python cs.ast_ordinal.UC_IS_PACK_ELEMENT
C csao_uc_is_pack_element
BOOLEAN
true if this is an argument for which the associated parameter is a template parameter pack.
Notes Base class for template argument ASTs.
CLASS cc:template-parameter
API Representation
C++cs::ast_class::UC_ABSTRACT_TEMPLATE_PARAMETER
Pythoncs.ast_class.UC_ABSTRACT_TEMPLATE_PARAMETER
Ccsac_uc_abstract_template_parameter
Canonical namecc:template-parameter
Superclass cc:ast
Subclasses
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
Notes Base class for template parameter ASTs.
CLASS cc:pragma
API Representation
C++cs::ast_class::UC_ABSTRACT_PRAGMA
Pythoncs.ast_class.UC_ABSTRACT_PRAGMA
Ccsac_uc_abstract_pragma
Canonical namecc:pragma
Superclass cc:ast
Subclasses
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:text
C++ cs::ast_ordinal::UC_TEXT
Python cs.ast_ordinal.UC_TEXT
C csao_uc_text
STRING
For pragmas that are passed through.
Notes Base class for pragma ASTs.
CLASS cc:constructor-init
API Representation
C++cs::ast_class::UC_ABSTRACT_CONSTRUCTOR_INIT
Pythoncs.ast_class.UC_ABSTRACT_CONSTRUCTOR_INIT
Ccsac_uc_abstract_constructor_init
Canonical namecc:constructor-init
Superclass cc:ast
Subclasses
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The initial value to be assigned to the object being initialized.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-pack-expansion
C++ cs::ast_ordinal::UC_IS_PACK_EXPANSION
Python cs.ast_ordinal.UC_IS_PACK_EXPANSION
C csao_uc_is_pack_expansion
BOOLEAN
true if this mem-initializer is a variadic template pack expansion, i.e., it's followed by "...".
:compiler-generated
C++ cs::ast_ordinal::UC_COMPILER_GENERATED
Python cs.ast_ordinal.UC_COMPILER_GENERATED
C csao_uc_compiler_generated
BOOLEAN
true for a constructor initializer generated by the compiler rather than representing an explicit initialization.
:original-index
C++ cs::ast_ordinal::UC_ORIGINAL_INDEX
Python cs.ast_ordinal.UC_ORIGINAL_INDEX
C csao_uc_original_index
UINT32
The order this appears in the member initializer list.
Notes Base class for constructor initializer ASTs.
CLASS cc:dynamic-init
API Representation
C++cs::ast_class::UC_ABSTRACT_DYNAMIC_INIT
Pythoncs.ast_class.UC_ABSTRACT_DYNAMIC_INIT
Ccsac_uc_abstract_dynamic_init
Canonical namecc:dynamic-init
Superclass cc:initializer
Subclasses
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
If this initializes a whole variable, here it is.
:destructor
C++ cs::ast_ordinal::UC_DESTRUCTOR
Python cs.ast_ordinal.UC_DESTRUCTOR
C csao_uc_destructor
cc:routine
The destructor routine to be invoked when this object ceases to exist; if unavailable, no destructor call is required.
:follows-an-exec-statement
C++ cs::ast_ordinal::UC_FOLLOWS_AN_EXEC_STATEMENT
Python cs.ast_ordinal.UC_FOLLOWS_AN_EXEC_STATEMENT
C csao_uc_follows_an_exec_statement
BOOLEAN
true if this initialization is pointed to from a cc:init and the cc:init appears after some executable statements in its block (which can only happen in C++).
:inside-conditional-expression
C++ cs::ast_ordinal::UC_INSIDE_CONDITIONAL_EXPRESSION
Python cs.ast_ordinal.UC_INSIDE_CONDITIONAL_EXPRESSION
C csao_uc_inside_conditional_expression
BOOLEAN
This initialization is inside a conditional part of an expression (e.g., under a ? operator).
:unordered
C++ cs::ast_ordinal::UC_UNORDERED
Python cs.ast_ordinal.UC_UNORDERED
C csao_uc_unordered
BOOLEAN
true if this entry represents an automatic end-of-lifetime destruction and is unordered relative to another entry on the destructions list.
:has-temporary-lifetime
C++ cs::ast_ordinal::UC_HAS_TEMPORARY_LIFETIME
Python cs.ast_ordinal.UC_HAS_TEMPORARY_LIFETIME
C csao_uc_has_temporary_lifetime
BOOLEAN
true if the entity initialized is a temporary with the normal object lifetime for a temporary
:is-constructor-init
C++ cs::ast_ordinal::UC_IS_CONSTRUCTOR_INIT
Python cs.ast_ordinal.UC_IS_CONSTRUCTOR_INIT
C csao_uc_is_constructor_init
BOOLEAN
true if this entry is pointed to from a cc:constructor-init entry in a constructor or destructor.
Notes Base class for dynamic initializer ASTs.
CLASS cc:generic-array
API Representation
C++cs::ast_class::UC_ABSTRACT_GENERIC_ARRAY
Pythoncs.ast_class.UC_ABSTRACT_GENERIC_ARRAY
Ccsac_uc_abstract_generic_array
Canonical namecc:generic-array
Superclass cc:type
Subclasses
Attributes
:element-type
C++ cs::ast_ordinal::UC_ELEMENT_TYPE
Python cs.ast_ordinal.UC_ELEMENT_TYPE
C csao_uc_element_type
cc:type
The type of the elements of the array.
:is-static
C++ cs::ast_ordinal::UC_IS_STATIC
Python cs.ast_ordinal.UC_IS_STATIC
C csao_uc_is_static
BOOLEAN
If true, this is a static-array-typed parameter.
:is-formerly-incomplete
C++ cs::ast_ordinal::UC_IS_FORMERLY_INCOMPLETE
Python cs.ast_ordinal.UC_IS_FORMERLY_INCOMPLETE
C csao_uc_is_formerly_incomplete
BOOLEAN
If true, the size of the array was unspecified.
Notes Base class for array type ASTs.
CLASS cc:class-struct-union
API Representation
C++cs::ast_class::UC_ABSTRACT_CLASS_STRUCT_UNION
Pythoncs.ast_class.UC_ABSTRACT_CLASS_STRUCT_UNION
Ccsac_uc_abstract_class_struct_union
Canonical namecc:class-struct-union
Superclass cc:type
Subclasses
Children
:base-classes
C++ cs::ast_ordinal::UC_BASE_CLASSES
Python cs.ast_ordinal.UC_BASE_CLASSES
C csao_uc_base_classes
cc:ast-list
A list of all base classes (cc:base-class), both directly and indirectly inherited, that are included within this class.
:fields
C++ cs::ast_ordinal::UC_FIELDS
Python cs.ast_ordinal.UC_FIELDS
C csao_uc_fields
cc:ast-list
The list of non-static data members (cc:field) of the class, struct, or union. This child may not be present it the type is incomplete.
:decl-modifiers
C++ cs::ast_ordinal::UC_DECL_MODIFIERS
Python cs.ast_ordinal.UC_DECL_MODIFIERS
C csao_uc_decl_modifiers
cc:enum-list
Additional declaration information representing Microsoft-style __declspec modifiers (decl_modifier) that are applied to the class as a whole.
:template-args
C++ cs::ast_ordinal::UC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_TEMPLATE_ARGS
C csao_uc_template_args
cc:ast-list
For classes that are instantiations of a class template, a list of entries describing the actual arguments (cc:template-arg) on which the instantiation is based. If the class is an instantiation of a partial specialization, this argument list corresponds with the template parameter list of the primary template.
:partial-spec-template-args
C++ cs::ast_ordinal::UC_PARTIAL_SPEC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_PARTIAL_SPEC_TEMPLATE_ARGS
C csao_uc_partial_spec_template_args
cc:ast-list
For classes that are instantiations of partial specializations of a class template, a list of entries describing the arguments (cc:template-arg) on which the instantiation is based, with respect to the template parameter list of the partial specialization.
:assoc-scope
C++ cs::ast_ordinal::UC_ASSOC_SCOPE
Python cs.ast_ordinal.UC_ASSOC_SCOPE
C csao_uc_assoc_scope
cc:scope
The scope for the class/struct/union type. unavailable when the class has been declared but not defined.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-final
C++ cs::ast_ordinal::UC_IS_FINAL
Python cs.ast_ordinal.UC_IS_FINAL
C csao_uc_is_final
BOOLEAN
true if this class was defined with the attribute or context-sensitive keyword final (C++11) or the Microsoft-mode context-sensitive keyword sealed.
:any-const-member
C++ cs::ast_ordinal::UC_ANY_CONST_MEMBER
Python cs.ast_ordinal.UC_ANY_CONST_MEMBER
C csao_uc_any_const_member
BOOLEAN
true if any member of the class, struct, or union is const-qualified.
:any-mutable-member
C++ cs::ast_ordinal::UC_ANY_MUTABLE_MEMBER
Python cs.ast_ordinal.UC_ANY_MUTABLE_MEMBER
C csao_uc_any_mutable_member
BOOLEAN
true if any member field of the class, struct, or union is declared mutable (C++ only).
:any-virtual-base-classes
C++ cs::ast_ordinal::UC_ANY_VIRTUAL_BASE_CLASSES
Python cs.ast_ordinal.UC_ANY_VIRTUAL_BASE_CLASSES
C csao_uc_any_virtual_base_classes
BOOLEAN
true if the class, struct, or union is derived from one or more virtual base classes, either directly or indirectly (C++ only).
:abstract
C++ cs::ast_ordinal::UC_ABSTRACT
Python cs.ast_ordinal.UC_ABSTRACT
C csao_uc_abstract
BOOLEAN
If true, as a result of having one or more pure virtual member functions, this is an abstract class and is subject to certain restrictions (C++ only, ARM 10.3).
:any-virtual-functions
C++ cs::ast_ordinal::UC_ANY_VIRTUAL_FUNCTIONS
Python cs.ast_ordinal.UC_ANY_VIRTUAL_FUNCTIONS
C csao_uc_any_virtual_functions
BOOLEAN
true if one or more member functions declared in the class, struct, or union is virtual (C++ only). (Inherited virtual functions that are not redeclared in the current class do not affect this flag.)
:any-pure-virtual-functions
C++ cs::ast_ordinal::UC_ANY_PURE_VIRTUAL_FUNCTIONS
Python cs.ast_ordinal.UC_ANY_PURE_VIRTUAL_FUNCTIONS
C csao_uc_any_pure_virtual_functions
BOOLEAN
true if one or more member functions declared in the class, struct, or union is a pure virtual function (C++ only). Inherited pure virtual functions do not affect this flag, and so not every abstract class has this flag set true.
:any-virtual-functions-including-in-base-classes
C++ cs::ast_ordinal::UC_ANY_VIRTUAL_FUNCTIONS_INCLUDING_IN_BASE_CLASSES
Python cs.ast_ordinal.UC_ANY_VIRTUAL_FUNCTIONS_INCLUDING_IN_BASE_CLASSES
C csao_uc_any_virtual_functions_including_in_base_classes
BOOLEAN
true if one or more member functions declared in the class, struct, or union or its base classes is a virtual function (C++ only).
:nested-class-defined-outside-of-parent
C++ cs::ast_ordinal::UC_NESTED_CLASS_DEFINED_OUTSIDE_OF_PARENT
Python cs.ast_ordinal.UC_NESTED_CLASS_DEFINED_OUTSIDE_OF_PARENT
C csao_uc_nested_class_defined_outside_of_parent
BOOLEAN
true if the class is a nested class defined outside its parent class. It will be pointed to by a nested-class-def placeholder typeref; the type entry for the associated typeref will be on the types list of the file scope or a namespace scope.
:originally-unnamed
C++ cs::ast_ordinal::UC_ORIGINALLY_UNNAMED
Python cs.ast_ordinal.UC_ORIGINALLY_UNNAMED
C csao_uc_originally_unnamed
BOOLEAN
true if the class was declared without a tag; in C++ may be true even when the source-correspondence doesn't have a name, since a name may be acquired from a typedef name.
:is-template-class
C++ cs::ast_ordinal::UC_IS_TEMPLATE_CLASS
Python cs.ast_ordinal.UC_IS_TEMPLATE_CLASS
C csao_uc_is_template_class
BOOLEAN
true if the class is an instance of a class template or a class nested within a class template. This value is true even if the instance has been explicitly specialized.
:is-nonreal-class
C++ cs::ast_ordinal::UC_IS_NONREAL_CLASS
Python cs.ast_ordinal.UC_IS_NONREAL_CLASS
C csao_uc_is_nonreal_class
BOOLEAN
true if the class is an instantiation of a class template based on template arguments that include one or more template parameters. In addition, classes that are nested within nonreal classes are marked as nonreal.
:is-prototype-instantiation
C++ cs::ast_ordinal::UC_IS_PROTOTYPE_INSTANTIATION
Python cs.ast_ordinal.UC_IS_PROTOTYPE_INSTANTIATION
C csao_uc_is_prototype_instantiation
BOOLEAN
true when this class is a nonreal class that is the prototype instantiation. Also true for classes nested within the prototype instantiation.
:is-specialized
C++ cs::ast_ordinal::UC_IS_SPECIALIZED
Python cs.ast_ordinal.UC_IS_SPECIALIZED
C csao_uc_is_specialized
BOOLEAN
true for class template instances for which the definition is supplied independently of the class template with which it is associated. This flag may be set as a result of a specialization declaration (either an old-style declaration or one using the template<> syntax), or if the class was specified in a do-not-instantiate pragma.
:specialized-with-old-syntax
C++ cs::ast_ordinal::UC_SPECIALIZED_WITH_OLD_SYNTAX
Python cs.ast_ordinal.UC_SPECIALIZED_WITH_OLD_SYNTAX
C csao_uc_specialized_with_old_syntax
BOOLEAN
true if is_specialized is true but the class was not explicitly declared with the template<> syntax.
:do-not-instantiate
C++ cs::ast_ordinal::UC_DO_NOT_INSTANTIATE
Python cs.ast_ordinal.UC_DO_NOT_INSTANTIATE
C csao_uc_do_not_instantiate
BOOLEAN
true if a do_not_instantiate pragma or extern was present for this class template.
:is-empty-class
C++ cs::ast_ordinal::UC_IS_EMPTY_CLASS
Python cs.ast_ordinal.UC_IS_EMPTY_CLASS
C csao_uc_is_empty_class
BOOLEAN
true if this class has no nonstatic data members, virtual functions, virtual base classes or bases (direct or indirect) with such things.
:max-member-alignment
C++ cs::ast_ordinal::UC_MAX_MEMBER_ALIGNMENT
Python cs.ast_ordinal.UC_MAX_MEMBER_ALIGNMENT
C csao_uc_max_member_alignment
ALIGNMENT
If nonzero, the maximum alignment of any nonstatic data member of this class, struct, or union (even if the member's type indicates a greater alignment). (A zero value means that each nonstatic data member's alignment is based solely on its type.)
:size-without-virtual-base-classes
C++ cs::ast_ordinal::UC_SIZE_WITHOUT_VIRTUAL_BASE_CLASSES
Python cs.ast_ordinal.UC_SIZE_WITHOUT_VIRTUAL_BASE_CLASSES
C csao_uc_size_without_virtual_base_classes
SIZE_T
The size in bytes of the class, excluding the virtual base classes from which it derives.
:alignment-without-virtual-base-classes
C++ cs::ast_ordinal::UC_ALIGNMENT_WITHOUT_VIRTUAL_BASE_CLASSES
Python cs.ast_ordinal.UC_ALIGNMENT_WITHOUT_VIRTUAL_BASE_CLASSES
C csao_uc_alignment_without_virtual_base_classes
ALIGNMENT
The alignment required for this class, when the virtual base classes from which it derives are omitted.
:virtual-function-info-base-class
C++ cs::ast_ordinal::UC_VIRTUAL_FUNCTION_INFO_BASE_CLASS
Python cs.ast_ordinal.UC_VIRTUAL_FUNCTION_INFO_BASE_CLASS
C csao_uc_virtual_function_info_base_class
cc:base-class
If virtual function info is shared between the current class and one of its base classes, this is the base class involved in the sharing. It is not necessarily a direct base class, but there are no virtual steps in its derivation. This field is unavailable if the virtual function info is not shared.
:uuid-string
C++ cs::ast_ordinal::UC_UUID_STRING
Python cs.ast_ordinal.UC_UUID_STRING
C csao_uc_uuid_string
STRING
A character string representing the argument of a uuid decl-modifier.
:inheritance-kind
C++ cs::ast_ordinal::UC_INHERITANCE_KIND
Python cs.ast_ordinal.UC_INHERITANCE_KIND
C csao_uc_inheritance_kind
inheritance_kind
Inheritance kind (single, multiple, virtual) that was specified for the class (either explicitly or as a result of a pointer-to-member declaration that involves the class). May be used to control the implementation of pointer-to-member objects for Microsoft ABI compatibility. An inheritance kind of csae_c_ihk_none means no specific inheritance kind has been set.
:inheritance-kind-is-explicit
C++ cs::ast_ordinal::UC_INHERITANCE_KIND_IS_EXPLICIT
Python cs.ast_ordinal.UC_INHERITANCE_KIND_IS_EXPLICIT
C csao_uc_inheritance_kind_is_explicit
BOOLEAN
true if the csao_uc_inheritance_kind field was set as the result of an explicit specification on the class declaration.
:is-lambda-closure-class
C++ cs::ast_ordinal::UC_IS_LAMBDA_CLOSURE_CLASS
Python cs.ast_ordinal.UC_IS_LAMBDA_CLOSURE_CLASS
C csao_uc_is_lambda_closure_class
BOOLEAN
true if the class is the closure class generated as the representation of a lambda.
:assoc-template
C++ cs::ast_ordinal::UC_ASSOC_TEMPLATE
Python cs.ast_ordinal.UC_ASSOC_TEMPLATE
C csao_uc_assoc_template
cc:template
For instantiated entities, this points to the the template from which they were generated.
:befriending-classes
C++ cs::ast_ordinal::UC_BEFRIENDING_CLASSES
Python cs.ast_ordinal.UC_BEFRIENDING_CLASSES
C csao_uc_befriending_classes
cc:ast-list
A list of entries identifying classes (cc:class-struct-union) that have declared the current class a friend (i.e., classes that have befriended the current class).
:friend-routines
C++ cs::ast_ordinal::UC_FRIEND_ROUTINES
Python cs.ast_ordinal.UC_FRIEND_ROUTINES
C csao_uc_friend_routines
cc:ast-list
A list of entries identifying routines (cc:routine) that were explicitly declared as friends of the current class (i.e., routines that the current class has befriended).
:friend-classes
C++ cs::ast_ordinal::UC_FRIEND_CLASSES
Python cs.ast_ordinal.UC_FRIEND_CLASSES
C csao_uc_friend_classes
cc:ast-list
A list of entries identifying classes (cc:type) that were explicitly declared as friends of the current class (i.e., classes that the current class has befriended).
:assoc-operator-new-routine
C++ cs::ast_ordinal::UC_ASSOC_OPERATOR_NEW_ROUTINE
Python cs.ast_ordinal.UC_ASSOC_OPERATOR_NEW_ROUTINE
C csao_uc_assoc_operator_new_routine
cc:routine
The operator new() routine to be used for the class. unavailable until a new is done or a constructor is defined. Needed only if the constructor sometimes does the new.
:assoc-operator-delete-routine
C++ cs::ast_ordinal::UC_ASSOC_OPERATOR_DELETE_ROUTINE
Python cs.ast_ordinal.UC_ASSOC_OPERATOR_DELETE_ROUTINE
C csao_uc_assoc_operator_delete_routine
cc:routine
The operator delete() routine to be used for the class. unavailable until a delete is done or a destructor is defined. Needed only if the destructor sometimes does the delete.
:gnu-is-transparent
C++ cs::ast_ordinal::UC_GNU_IS_TRANSPARENT
Python cs.ast_ordinal.UC_GNU_IS_TRANSPARENT
C csao_uc_gnu_is_transparent
BOOLEAN
true if this is a union type that is transparent. If a parameter has transparent union type, then it is OK to pass an argument whose type is one of the union members.
:gnu-is-packed
C++ cs::ast_ordinal::UC_GNU_IS_PACKED
Python cs.ast_ordinal.UC_GNU_IS_PACKED
C csao_uc_gnu_is_packed
BOOLEAN
true if this class type was declared with the GNU C packed attribute.
:ms-interface
C++ cs::ast_ordinal::UC_MS_INTERFACE
Python cs.ast_ordinal.UC_MS_INTERFACE
C csao_uc_ms_interface
BOOLEAN
When not unavailable, true if this is a struct type declared with the Microsoft keyword __interface.
Notes Base class for class, struct, and union type ASTs.
CLASS cc:address
API Representation
C++cs::ast_class::UC_ABSTRACT_ADDRESS
Pythoncs.ast_class.UC_ABSTRACT_ADDRESS
Ccsac_uc_abstract_address
Canonical namecc:address
Superclass cc:constant
Subclasses
Attributes
:offset
C++ cs::ast_ordinal::UC_OFFSET
Python cs.ast_ordinal.UC_OFFSET
C csao_uc_offset
PTRDIFF
Byte offset from the base address.
Notes Base class for address constant ASTs.
CLASS cc:constant-template-param
API Representation
C++cs::ast_class::UC_ABSTRACT_CONSTANT_TEMPLATE_PARAM
Pythoncs.ast_class.UC_ABSTRACT_CONSTANT_TEMPLATE_PARAM
Ccsac_uc_abstract_constant_template_param
Canonical namecc:constant-template-param
Superclass cc:constant
Subclasses
Notes Base class for template parameter constant ASTs.
CLASS cc:operation
API Representation
C++cs::ast_class::UC_ABSTRACT_OPERATION
Pythoncs.ast_class.UC_ABSTRACT_OPERATION
Ccsac_uc_abstract_operation
Canonical namecc:operation
Superclass cc:expr
Subclasses
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of the operands (cc:expr). The length of the list depends on the subclass.
Attributes
:compiler-generated
C++ cs::ast_ordinal::UC_COMPILER_GENERATED
Python cs.ast_ordinal.UC_COMPILER_GENERATED
C csao_uc_compiler_generated
BOOLEAN
true if the operation is compiler-generated rather than explicitly present in the source program. Used in particular for casts.
Notes Base class for operation ASTs.
CLASS cc:negate
API Representation
C++cs::ast_class::UC_ABSTRACT_NEGATE
Pythoncs.ast_class.UC_ABSTRACT_NEGATE
Ccsac_uc_abstract_negate
Canonical namecc:negate
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Notes Base class for negation ASTs.
CLASS cc:cast
API Representation
C++cs::ast_class::UC_ABSTRACT_CAST
Pythoncs.ast_class.UC_ABSTRACT_CAST
Ccsac_uc_abstract_cast
Canonical namecc:cast
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Attributes
:cast-kind
C++ cs::ast_ordinal::UC_CAST_KIND
Python cs.ast_ordinal.UC_CAST_KIND
C csao_uc_cast_kind
cast_kind
The syntactic kind of the cast:
Notes Base class for type cast ASTs.
CLASS cc:post-incr
API Representation
C++cs::ast_class::UC_ABSTRACT_POST_INCR
Pythoncs.ast_class.UC_ABSTRACT_POST_INCR
Ccsac_uc_abstract_post_incr
Canonical namecc:post-incr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Notes Base class for post-increment ASTs.
CLASS cc:post-decr
API Representation
C++cs::ast_class::UC_ABSTRACT_POST_DECR
Pythoncs.ast_class.UC_ABSTRACT_POST_DECR
Ccsac_uc_abstract_post_decr
Canonical namecc:post-decr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Notes Base class for post-decrement ASTs.
CLASS cc:pre-incr
API Representation
C++cs::ast_class::UC_ABSTRACT_PRE_INCR
Pythoncs.ast_class.UC_ABSTRACT_PRE_INCR
Ccsac_uc_abstract_pre_incr
Canonical namecc:pre-incr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Notes Base class for pre-increment ASTs.
CLASS cc:pre-decr
API Representation
C++cs::ast_class::UC_ABSTRACT_PRE_DECR
Pythoncs.ast_class.UC_ABSTRACT_PRE_DECR
Ccsac_uc_abstract_pre_decr
Canonical namecc:pre-decr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 1.
Notes Base class for pre-decrement ASTs.
CLASS cc:add
API Representation
C++cs::ast_class::UC_ABSTRACT_ADD
Pythoncs.ast_class.UC_ABSTRACT_ADD
Ccsac_uc_abstract_add
Canonical namecc:add
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for addition ASTs.
CLASS cc:subtract
API Representation
C++cs::ast_class::UC_ABSTRACT_SUBTRACT
Pythoncs.ast_class.UC_ABSTRACT_SUBTRACT
Ccsac_uc_abstract_subtract
Canonical namecc:subtract
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for subtraction ASTs.
CLASS cc:multiply
API Representation
C++cs::ast_class::UC_ABSTRACT_MULTIPLY
Pythoncs.ast_class.UC_ABSTRACT_MULTIPLY
Ccsac_uc_abstract_multiply
Canonical namecc:multiply
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for multiplication ASTs.
CLASS cc:divide
API Representation
C++cs::ast_class::UC_ABSTRACT_DIVIDE
Pythoncs.ast_class.UC_ABSTRACT_DIVIDE
Ccsac_uc_abstract_divide
Canonical namecc:divide
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for division ASTs.
CLASS cc:shiftl
API Representation
C++cs::ast_class::UC_ABSTRACT_SHIFTL
Pythoncs.ast_class.UC_ABSTRACT_SHIFTL
Ccsac_uc_abstract_shiftl
Canonical namecc:shiftl
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for shift-left ASTs.
CLASS cc:shiftr
API Representation
C++cs::ast_class::UC_ABSTRACT_SHIFTR
Pythoncs.ast_class.UC_ABSTRACT_SHIFTR
Ccsac_uc_abstract_shiftr
Canonical namecc:shiftr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for shift-right ASTs.
CLASS cc:eq
API Representation
C++cs::ast_class::UC_ABSTRACT_EQ
Pythoncs.ast_class.UC_ABSTRACT_EQ
Ccsac_uc_abstract_eq
Canonical namecc:eq
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for equality ASTs.
CLASS cc:ne
API Representation
C++cs::ast_class::UC_ABSTRACT_NE
Pythoncs.ast_class.UC_ABSTRACT_NE
Ccsac_uc_abstract_ne
Canonical namecc:ne
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for inequality ASTs.
CLASS cc:gt
API Representation
C++cs::ast_class::UC_ABSTRACT_GT
Pythoncs.ast_class.UC_ABSTRACT_GT
Ccsac_uc_abstract_gt
Canonical namecc:gt
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for greater-than ASTs.
CLASS cc:lt
API Representation
C++cs::ast_class::UC_ABSTRACT_LT
Pythoncs.ast_class.UC_ABSTRACT_LT
Ccsac_uc_abstract_lt
Canonical namecc:lt
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for less-than ASTs.
CLASS cc:ge
API Representation
C++cs::ast_class::UC_ABSTRACT_GE
Pythoncs.ast_class.UC_ABSTRACT_GE
Ccsac_uc_abstract_ge
Canonical namecc:ge
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for 'greater than or equal' ASTs.
CLASS cc:le
API Representation
C++cs::ast_class::UC_ABSTRACT_LE
Pythoncs.ast_class.UC_ABSTRACT_LE
Ccsac_uc_abstract_le
Canonical namecc:le
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for 'less than or equal' ASTs.
CLASS cc:spaceship
API Representation
C++cs::ast_class::UC_ABSTRACT_SPACESHIP
Pythoncs.ast_class.UC_ABSTRACT_SPACESHIP
Ccsac_uc_abstract_spaceship
Canonical namecc:spaceship
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for 'spaceship' (three way comparison) ASTs.
CLASS cc:gnu-min
API Representation
C++cs::ast_class::UC_ABSTRACT_GNU_MIN
Pythoncs.ast_class.UC_ABSTRACT_GNU_MIN
Ccsac_uc_abstract_gnu_min
Canonical namecc:gnu-min
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for GNU min operator "<?" ASTs.
CLASS cc:gnu-max
API Representation
C++cs::ast_class::UC_ABSTRACT_GNU_MAX
Pythoncs.ast_class.UC_ABSTRACT_GNU_MAX
Ccsac_uc_abstract_gnu_max
Canonical namecc:gnu-max
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for GNU max operator ">?" ASTs.
CLASS cc:assign
API Representation
C++cs::ast_class::UC_ABSTRACT_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_ASSIGN
Ccsac_uc_abstract_assign
Canonical namecc:assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for assignment operation ASTs.
CLASS cc:add-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_ADD_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_ADD_ASSIGN
Ccsac_uc_abstract_add_assign
Canonical namecc:add-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for add-assign operation ASTs.
CLASS cc:subtract-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_SUBTRACT_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_SUBTRACT_ASSIGN
Ccsac_uc_abstract_subtract_assign
Canonical namecc:subtract-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for subtract-assign operation ASTs.
CLASS cc:multiply-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_MULTIPLY_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_MULTIPLY_ASSIGN
Ccsac_uc_abstract_multiply_assign
Canonical namecc:multiply-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for multiply-assign operation ASTs.
CLASS cc:divide-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_DIVIDE_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_DIVIDE_ASSIGN
Ccsac_uc_abstract_divide_assign
Canonical namecc:divide-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for divide-assign operation ASTs.
CLASS cc:shiftl-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_SHIFTL_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_SHIFTL_ASSIGN
Ccsac_uc_abstract_shiftl_assign
Canonical namecc:shiftl-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for shift-left-assign operation ASTs.
CLASS cc:shiftr-assign
API Representation
C++cs::ast_class::UC_ABSTRACT_SHIFTR_ASSIGN
Pythoncs.ast_class.UC_ABSTRACT_SHIFTR_ASSIGN
Ccsac_uc_abstract_shiftr_assign
Canonical namecc:shiftr-assign
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for shift-right-assign operation ASTs.
CLASS cc:arrayref
API Representation
C++cs::ast_class::UC_ABSTRACT_ARRAYREF
Pythoncs.ast_class.UC_ABSTRACT_ARRAYREF
Ccsac_uc_abstract_arrayref
Canonical namecc:arrayref
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for array reference operation ASTs.
CLASS cc:dot-expr
API Representation
C++cs::ast_class::UC_ABSTRACT_DOT_EXPR
Pythoncs.ast_class.UC_ABSTRACT_DOT_EXPR
Ccsac_uc_abstract_dot_expr
Canonical namecc:dot-expr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for field selection "." and "->" ASTs.
CLASS cc:pm-dot-expr
API Representation
C++cs::ast_class::UC_ABSTRACT_PM_DOT_EXPR
Pythoncs.ast_class.UC_ABSTRACT_PM_DOT_EXPR
Ccsac_uc_abstract_pm_dot_expr
Canonical namecc:pm-dot-expr
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for pointer-to-member ".*" and "->*" ASTs.
CLASS cc:call
API Representation
C++cs::ast_class::UC_ABSTRACT_CALL
Pythoncs.ast_class.UC_ABSTRACT_CALL
Ccsac_uc_abstract_call
Canonical namecc:call
Superclass cc:operation
Subclasses
Children
The inherited csao_uc_operands child has length 2.
Notes Base class for function call ASTs.
CLASS cc:sizeof
API Representation
C++cs::ast_class::UC_ABSTRACT_SIZEOF
Pythoncs.ast_class.UC_ABSTRACT_SIZEOF
Ccsac_uc_abstract_sizeof
Canonical namecc:sizeof
Superclass cc:expr
Subclasses
Notes Base class for sizeof ASTs.
CLASS cc:sizeof-pack
API Representation
C++cs::ast_class::UC_ABSTRACT_SIZEOF_PACK
Pythoncs.ast_class.UC_ABSTRACT_SIZEOF_PACK
Ccsac_uc_abstract_sizeof_pack
Canonical namecc:sizeof-pack
Superclass cc:sizeof
Subclasses
Notes Base class of sizeof...(T), the size of a variadic template parameter pack.
CLASS cc:alignof
API Representation
C++cs::ast_class::UC_ABSTRACT_ALIGNOF
Pythoncs.ast_class.UC_ABSTRACT_ALIGNOF
Ccsac_uc_abstract_alignof
Canonical namecc:alignof
Superclass cc:expr
Subclasses
Notes Base class for alignof ASTs.
CLASS cc:datasizeof
API Representation
C++cs::ast_class::UC_ABSTRACT_dATASIZEOF
Pythoncs.ast_class.UC_ABSTRACT_dATASIZEOF
Ccsac_uc_abstract_datasizeof
Canonical namecc:datasizeof
Superclass cc:expr
Subclasses
Notes Base class for sizeof ASTs.
CLASS cc:builtin-operation
API Representation
C++cs::ast_class::UC_ABSTRACT_BUILTIN_OPERATION
Pythoncs.ast_class.UC_ABSTRACT_BUILTIN_OPERATION
Ccsac_uc_abstract_builtin_operation
Canonical namecc:builtin-operation
Superclass cc:expr
Subclasses
Children
:builtin-operation-kind
C++ cs::ast_ordinal::UC_BUILTIN_OPERATION_KIND
Python cs.ast_ordinal.UC_BUILTIN_OPERATION_KIND
C csao_uc_builtin_operation_kind
builtin_operation_kind
Kind of the operation.
:is-clang-extension
C++ cs::ast_ordinal::UC_IS_CLANG_EXTENSION
Python cs.ast_ordinal.UC_IS_CLANG_EXTENSION
C csao_uc_is_clang_extension
BOOLEAN
true if and only if the builtin operation is clang-specific.
:is-gnu-extension
C++ cs::ast_ordinal::UC_IS_GNU_EXTENSION
Python cs.ast_ordinal.UC_IS_GNU_EXTENSION
C csao_uc_is_gnu_extension
BOOLEAN
true if and only if the builtin operation is GNU-specific.
:is-ms-extension
C++ cs::ast_ordinal::UC_IS_MS_EXTENSION
Python cs.ast_ordinal.UC_IS_MS_EXTENSION
C csao_uc_is_ms_extension
BOOLEAN
true if and only if the builtin operation is Microsoft-specific.
Notes Used to represent a variety of builtin operations.
CLASS cc:builtin-operation-type-operands
API Representation
C++cs::ast_class::UC_ABSTRACT_BUILTIN_OPERATION_TYPE_OPERANDS
Pythoncs.ast_class.UC_ABSTRACT_BUILTIN_OPERATION_TYPE_OPERANDS
Ccsac_uc_abstract_builtin_operation_type_operands
Canonical namecc:builtin-operation-type-operands
Superclass cc:builtin-operation
Subclasses
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of the operands (cc:expr-type).
Notes A built-in operation that takes some operands, which are all types.
CLASS cc:builtin-operation-expression-operands
API Representation
C++cs::ast_class::UC_ABSTRACT_BUILTIN_OPERATION_EXPRESSION_OPERANDS
Pythoncs.ast_class.UC_ABSTRACT_BUILTIN_OPERATION_EXPRESSION_OPERANDS
Ccsac_uc_abstract_builtin_operation_expression_operands
Canonical namecc:builtin-operation-expression-operands
Superclass cc:builtin-operation
Subclasses
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of the operands (cc:expr).
Notes A built-in operation that takes some operands, which are all expressions.
CLASS cc:literal
API Representation
C++cs::ast_class::UC_ABSTRACT_LITERAL
Pythoncs.ast_class.UC_ABSTRACT_LITERAL
Ccsac_uc_abstract_literal
Canonical namecc:literal
Superclass cc:ast
Subclasses
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
:text
C++ cs::ast_ordinal::UC_TEXT
Python cs.ast_ordinal.UC_TEXT
C csao_uc_text
BYTES
The original text of the token after preprocessing.
Notes Base class for literal ASTs.
CLASS cc:integer-literal
API Representation
C++cs::ast_class::UC_ABSTRACT_INTEGER_LITERAL
Pythoncs.ast_class.UC_ABSTRACT_INTEGER_LITERAL
Ccsac_uc_abstract_integer_literal
Canonical namecc:integer-literal
Superclass cc:literal
Subclasses
Attributes
:radix
C++ cs::ast_ordinal::UC_RADIX
Python cs.ast_ordinal.UC_RADIX
C csao_uc_radix
UINT32
The radix with which this literal was specified. If no radix was specified or implicit (such as with character literals) it is unavailable.
Notes Base class for integer literal ASTs.
CLASS cc:float-literal
API Representation
C++cs::ast_class::UC_ABSTRACT_FLOAT_LITERAL
Pythoncs.ast_class.UC_ABSTRACT_FLOAT_LITERAL
Ccsac_uc_abstract_float_literal
Canonical namecc:float-literal
Superclass cc:literal
Subclasses
Notes Base class for floating-point literal ASTs.
CLASS cc:attribute-arg
API Representation
C++cs::ast_class::UC_ABSTRACT_ATTRIBUTE_ARG
Pythoncs.ast_class.UC_ABSTRACT_ATTRIBUTE_ARG
Ccsac_uc_abstract_attribute_arg
Canonical namecc:attribute-arg
Superclass cc:ast
Subclasses
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
Notes Base class for arguments of an attribute.
CLASS cc:abstract-decl
API Representation
C++cs::ast_class::UC_ABSTRACT_DECL
Pythoncs.ast_class.UC_ABSTRACT_DECL
Ccsac_uc_abstract_decl
Canonical namecc:abstract-decl
Superclass cc:ast
Subclasses
Children
:declared-storage-class
C++ cs::ast_ordinal::UC_DECLARED_STORAGE_CLASS
Python cs.ast_ordinal.UC_DECLARED_STORAGE_CLASS
C csao_uc_declared_storage_class
storage_class
Storage class shown in the source code.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:declared-type
C++ cs::ast_ordinal::UC_DECLARED_TYPE
Python cs.ast_ordinal.UC_DECLARED_TYPE
C csao_uc_declared_type
cc:type
Type shown in the source code.
:in-file-scope
C++ cs::ast_ordinal::UC_IN_FILE_SCOPE
Python cs.ast_ordinal.UC_IN_FILE_SCOPE
C csao_uc_in_file_scope
BOOLEAN
true if the declaration is not in a function or local scope.
Notes Base class for forward declarations.
CLASS cc:file-info
API Representation
C++cs::ast_class::UC_FILE_INFO
Pythoncs.ast_class.UC_FILE_INFO
Ccsac_uc_file_info
Canonical namecc:file-info
Superclass cc:ast
Children
:primary-source-file
C++ cs::ast_ordinal::UC_PRIMARY_SOURCE_FILE
Python cs.ast_ordinal.UC_PRIMARY_SOURCE_FILE
C csao_uc_primary_source_file
cc:source-file
The description of the primary source file, and linkage to include file information.
:primary-scope
C++ cs::ast_ordinal::UC_PRIMARY_SCOPE
Python cs.ast_ordinal.UC_PRIMARY_SCOPE
C csao_uc_primary_scope
cc:scope
The file scope.
:macros
C++ cs::ast_ordinal::UC_MACROS
Python cs.ast_ordinal.UC_MACROS
C csao_uc_macros
cc:ast-list
A list of all macros (cc:macro) declared in the translation unit.
Attributes
:main-routine
C++ cs::ast_ordinal::UC_MAIN_ROUTINE
Python cs.ast_ordinal.UC_MAIN_ROUTINE
C csao_uc_main_routine
cc:routine
If main is defined in this compilation, this is its routine entry. Otherwise, it is unavailable.
:source-language
C++ cs::ast_ordinal::UC_SOURCE_LANGUAGE
Python cs.ast_ordinal.UC_SOURCE_LANGUAGE
C csao_uc_source_language
source_language
The language in which the source program is written.
:gcc-mode
C++ cs::ast_ordinal::UC_GCC_MODE
Python cs.ast_ordinal.UC_GCC_MODE
C csao_uc_gcc_mode
BOOLEAN
true if the source program was compiled in GNU C mode.
:sizeof-pointer
C++ cs::ast_ordinal::UC_SIZEOF_POINTER
Python cs.ast_ordinal.UC_SIZEOF_POINTER
C csao_uc_sizeof_pointer
SIZE_T
The size of all pointer types.
Notes Information about the root file instance in a compilation unit.
CLASS cc:source-correspondence
API Representation
C++cs::ast_class::UC_SOURCE_CORRESPONDENCE
Pythoncs.ast_class.UC_SOURCE_CORRESPONDENCE
Ccsac_uc_source_correspondence
Canonical namecc:source-correspondence
Superclass cc:ast
Children
:name
C++ cs::ast_ordinal::UC_NAME
Python cs.ast_ordinal.UC_NAME
C csao_uc_name
STRING
The name.
:attributes
C++ cs::ast_ordinal::UC_ATTRIBUTES
Python cs.ast_ordinal.UC_ATTRIBUTES
C csao_uc_attributes
cc:ast-list
The set of cc:attributes applicable to this entity.
Attributes
:mangled-name
C++ cs::ast_ordinal::UC_MANGLED_NAME
Python cs.ast_ordinal.UC_MANGLED_NAME
C csao_uc_mangled_name
STRING
The mangled name.
:access
C++ cs::ast_ordinal::UC_ACCESS
Python cs.ast_ordinal.UC_ACCESS
C csao_uc_access
access_specifier
The access control specified at the point of declaration. Restricted access may be indicated for class members only; all other entities are csae_c_as_public by default. In C mode, always csae_c_as_public.
:has-associated-pragma
C++ cs::ast_ordinal::UC_HAS_ASSOCIATED_PRAGMA
Python cs.ast_ordinal.UC_HAS_ASSOCIATED_PRAGMA
C csao_uc_has_associated_pragma
BOOLEAN
true if a cc:pragma has been created and bound to this entity.
:is-local-to-function
C++ cs::ast_ordinal::UC_IS_LOCAL_TO_FUNCTION
Python cs.ast_ordinal.UC_IS_LOCAL_TO_FUNCTION
C csao_uc_is_local_to_function
BOOLEAN
true if this entity is local to a function (i.e., not global).
:class
C++ cs::ast_ordinal::UC_CLASS
Python cs.ast_ordinal.UC_CLASS
C csao_uc_class
cc:class-struct-union
The class, struct, or union of which the current entity is a member. unavailable if the entry does not represent a C++ class member or a field in C. (Note that it is available for anonymous union members even when their names are promoted to a non-class scope.)
:namespace
C++ cs::ast_ordinal::UC_NAMESPACE
Python cs.ast_ordinal.UC_NAMESPACE
C csao_uc_namespace
cc:namespace
The namespace in which this entity is a member. unavailable if the current entity was not declared to be a namespace member. unavailable if csao_uc_class field is not unavailable. (C++ only)
:is-deprecated
C++ cs::ast_ordinal::UC_IS_DEPRECATED
Python cs.ast_ordinal.UC_IS_DEPRECATED
C csao_uc_is_deprecated
BOOLEAN
true if this entity was was marked as deprecated (using a GNU attribute or a Microsoft __declspec specifier).
:is-c-external
C++ cs::ast_ordinal::UC_IS_C_EXTERNAL
Python cs.ast_ordinal.UC_IS_C_EXTERNAL
C csao_uc_is_c_external
BOOLEAN
true if this entity appeared under extern "C". This appears only for types.
Notes Information connecting an AST to its corresponding source construct.
CLASS cc:zero-initializer
API Representation
C++cs::ast_class::UC_ZERO_INITIALIZER
Pythoncs.ast_class.UC_ZERO_INITIALIZER
Ccsac_uc_zero_initializer
Canonical namecc:zero-initializer
Superclass cc:initializer
Notes Initializer of the form "... = 0".
CLASS cc:no-initializer
API Representation
C++cs::ast_class::UC_NO_INITIALIZER
Pythoncs.ast_class.UC_NO_INITIALIZER
Ccsac_uc_no_initializer
Canonical namecc:no-initializer
Superclass cc:initializer
Notes Used when there is no initializer specified in the source code.
CLASS cc:static-assertion
API Representation
C++cs::ast_class::UC_STATIC_ASSERTION
Pythoncs.ast_class.UC_STATIC_ASSERTION
Ccsac_uc_static_assertion
Canonical namecc:static-assertion
Superclass cc:ast
Children
:condition
C++ cs::ast_ordinal::UC_CONDITION
Python cs.ast_ordinal.UC_CONDITION
C csao_uc_condition
cc:expr-constant
The condition asserted to be true.
CLASS cc:static-initializer
API Representation
C++cs::ast_class::UC_STATIC_INITIALIZER
Pythoncs.ast_class.UC_STATIC_INITIALIZER
Ccsac_uc_static_initializer
Canonical namecc:static-initializer
Superclass cc:initializer
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
Constant initial value for static initialization. Only used for static variables.
Notes Static initialization to a constant.
CLASS cc:binding-initializer
API Representation
C++cs::ast_class::UC_BINDING_INITIALIZER
Pythoncs.ast_class.UC_BINDING_INITIALIZER
Ccsac_uc_binding_initializer
Canonical namecc:binding-initializer
Superclass cc:initializer
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression a binding is bound to (for bindings that are not ordinary reference variables).
Notes For the bindings in a structured binding, the lvalue expression they stand for. (This is not an "initialization" in the traditional sense.)
CLASS cc:source-file
API Representation
C++cs::ast_class::UC_SOURCE_FILE
Pythoncs.ast_class.UC_SOURCE_FILE
Ccsac_uc_source_file
Canonical namecc:source-file
Superclass cc:ast
Children
:name
C++ cs::ast_ordinal::UC_NAME
Python cs.ast_ordinal.UC_NAME
C csao_uc_name
STRING
The display form of the file name.
:child-files
C++ cs::ast_ordinal::UC_CHILD_FILES
Python cs.ast_ordinal.UC_CHILD_FILES
C csao_uc_child_files
cc:ast-list
The list of include files (cc:source-file) referenced from this source file, in order.
Attributes
:full-name
C++ cs::ast_ordinal::UC_FULL_NAME
Python cs.ast_ordinal.UC_FULL_NAME
C csao_uc_full_name
BYTES
The actual file name of the file. Null-terminated. unavailable for entries generated by #line directives.
:name-as-written
C++ cs::ast_ordinal::UC_NAME_AS_WRITTEN
Python cs.ast_ordinal.UC_NAME_AS_WRITTEN
C csao_uc_name_as_written
BYTES
The name as specified on the command line or in a #include directive, including a path (if any). Null-terminated.
:related-file-implicit-include-done
C++ cs::ast_ordinal::UC_RELATED_FILE_IMPLICIT_INCLUDE_DONE
Python cs.ast_ordinal.UC_RELATED_FILE_IMPLICIT_INCLUDE_DONE
C csao_uc_related_file_implicit_include_done
BOOLEAN
For a header file this is true if an attempt has been made to implicitly include the source file (e.g., .c file) that corresponds to this header file.
:is-include-file
C++ cs::ast_ordinal::UC_IS_INCLUDE_FILE
Python cs.ast_ordinal.UC_IS_INCLUDE_FILE
C csao_uc_is_include_file
BOOLEAN
true if this is a file that was included (explicitly or implicitly). false for the primary source file of this compilation and for source file entries associated with any primary source files from which precompiled header information has been restored.
:included-by-system-include
C++ cs::ast_ordinal::UC_INCLUDED_BY_SYSTEM_INCLUDE
Python cs.ast_ordinal.UC_INCLUDED_BY_SYSTEM_INCLUDE
C csao_uc_included_by_system_include
BOOLEAN
true if this is a file that was included using the #include <file.h> notation. false for files included with the #include "file.h" notation and entries not associated with include files.
:included-by-preinclude
C++ cs::ast_ordinal::UC_INCLUDED_BY_PREINCLUDE
Python cs.ast_ordinal.UC_INCLUDED_BY_PREINCLUDE
C csao_uc_included_by_preinclude
BOOLEAN
true if this is a file that was included using the command line option for preinclude.
:from-system-include-dir
C++ cs::ast_ordinal::UC_FROM_SYSTEM_INCLUDE_DIR
Python cs.ast_ordinal.UC_FROM_SYSTEM_INCLUDE_DIR
C csao_uc_from_system_include_dir
BOOLEAN
true if this source file was found in an include directory marked as a system include directory.
Notes Information about a source file.
CLASS cc:error-value
API Representation
C++cs::ast_class::UC_ERROR_VALUE
Pythoncs.ast_class.UC_ERROR_VALUE
Ccsac_uc_error_value
Canonical namecc:error-value
Superclass cc:constant
Notes Value is unknown due to an error.
CLASS cc:integer-value
API Representation
C++cs::ast_class::UC_INTEGER_VALUE
Pythoncs.ast_class.UC_INTEGER_VALUE
Ccsac_uc_integer_value
Canonical namecc:integer-value
Superclass cc:constant
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
cc:integer-literal
The class of this field depends on the type of integer being represented.
Attributes
:has-initializer
C++ cs::ast_ordinal::UC_HAS_INITIALIZER
Python cs.ast_ordinal.UC_HAS_INITIALIZER
C csao_uc_has_initializer
BOOLEAN
true if this constant represents an enumerator that is explicitly initialized.
:character-kind
C++ cs::ast_ordinal::UC_CHARACTER_KIND
Python cs.ast_ordinal.UC_CHARACTER_KIND
C csao_uc_character_kind
character_kind
Which kind of character type.
Notes An integer value.
CLASS cc:fixed-point-value
API Representation
C++cs::ast_class::UC_FIXED_POINT_VALUE
Pythoncs.ast_class.UC_FIXED_POINT_VALUE
Ccsac_uc_fixed_point_value
Canonical namecc:fixed-point-value
Superclass cc:constant
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
STRING
A string representation of the fixed point value.
Notes A fixed-point value.
CLASS cc:string
API Representation
C++cs::ast_class::UC_STRING
Pythoncs.ast_class.UC_STRING
Ccsac_uc_string
Canonical namecc:string
Superclass cc:constant
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
BYTES
The value.
Attributes
:abs-loc
C++ cs::ast_ordinal::UC_ABS_LOC
Python cs.ast_ordinal.UC_ABS_LOC
C csao_uc_abs_loc
ABS_LOC
The ABS_LOC corresponding to this string.
:length
C++ cs::ast_ordinal::UC_LENGTH
Python cs.ast_ordinal.UC_LENGTH
C csao_uc_length
SIZE_T
Length of the string, in bytes. Includes the trailing null, if any.
:character-kind
C++ cs::ast_ordinal::UC_CHARACTER_KIND
Python cs.ast_ordinal.UC_CHARACTER_KIND
C csao_uc_character_kind
character_kind
Which kind of character type.
Notes A string value.
CLASS cc:float-value
API Representation
C++cs::ast_class::UC_FLOAT_VALUE
Pythoncs.ast_class.UC_FLOAT_VALUE
Ccsac_uc_float_value
Canonical namecc:float-value
Superclass cc:constant
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
cc:float-literal
Notes A floating-point value.
CLASS cc:complex-value
API Representation
C++cs::ast_class::UC_COMPLEX_VALUE
Pythoncs.ast_class.UC_COMPLEX_VALUE
Ccsac_uc_complex_value
Canonical namecc:complex-value
Superclass cc:constant
Children
:real-value
C++ cs::ast_ordinal::UC_REAL_VALUE
Python cs.ast_ordinal.UC_REAL_VALUE
C csao_uc_real_value
cc:float-value
The value of the real part, as a double. This loses precision for long double literals.
:imag-value
C++ cs::ast_ordinal::UC_IMAG_VALUE
Python cs.ast_ordinal.UC_IMAG_VALUE
C csao_uc_imag_value
cc:float-value
The value of the imaginary part, as a double. This loses precision for long double literals.
Notes A complex value.
CLASS cc:imaginary-value
API Representation
C++cs::ast_class::UC_IMAGINARY_VALUE
Pythoncs.ast_class.UC_IMAGINARY_VALUE
Ccsac_uc_imaginary_value
Canonical namecc:imaginary-value
Superclass cc:constant
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
cc:float-value
The value as a double. This loses precision for long doubles.
Notes An imaginary value.
CLASS cc:routine-address-constant
API Representation
C++cs::ast_class::UC_ROUTINE_ADDRESS_CONSTANT
Pythoncs.ast_class.UC_ROUTINE_ADDRESS_CONSTANT
Ccsac_uc_routine_address_constant
Canonical namecc:routine-address-constant
Superclass cc:address
Attributes
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The routine whose address is the base for this address constant.
Notes The value of a pointer to a function.
CLASS cc:variable-address-constant
API Representation
C++cs::ast_class::UC_VARIABLE_ADDRESS_CONSTANT
Pythoncs.ast_class.UC_VARIABLE_ADDRESS_CONSTANT
Ccsac_uc_variable_address_constant
Canonical namecc:variable-address-constant
Superclass cc:address
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
The variable whose address is the base for this address constant.
Notes The value of a pointer to a variable.
CLASS cc:constant-address
API Representation
C++cs::ast_class::UC_CONSTANT_ADDRESS
Pythoncs.ast_class.UC_CONSTANT_ADDRESS
Ccsac_uc_constant_address
Canonical namecc:constant-address
Superclass cc:address
Attributes
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The constant whose address is the base for this address constant.
Notes The value of a pointer to a constant.
CLASS cc:uuidof-address
API Representation
C++cs::ast_class::UC_UUIDOF_ADDRESS
Pythoncs.ast_class.UC_UUIDOF_ADDRESS
Ccsac_uc_uuidof_address
Canonical namecc:uuidof-address
Superclass cc:address
Attributes
:uuidof-type
C++ cs::ast_ordinal::UC_UUIDOF_TYPE
Python cs.ast_ordinal.UC_UUIDOF_TYPE
C csao_uc_uuidof_type
cc:type
The value of the constant is the address of a structure that represents the uuid_string associated with the indicated type. unavailable for the address of a structure representing a zero GUID.
Notes The value of a pointer to a _GUID structure (Microsoft extension).
CLASS cc:typeid-address
API Representation
C++cs::ast_class::UC_TYPEID_ADDRESS
Pythoncs.ast_class.UC_TYPEID_ADDRESS
Ccsac_uc_typeid_address
Canonical namecc:typeid-address
Superclass cc:address
Attributes
:typeid-type
C++ cs::ast_ordinal::UC_TYPEID_TYPE
Python cs.ast_ordinal.UC_TYPEID_TYPE
C csao_uc_typeid_type
cc:type
The value of the constant is the address of the std::type_info structure associated with the given type.
Notes Pointer to a std::type_info structure. Used in Microsoft mode when typeid appears in a template argument list.
CLASS cc:cli-typeid-address
API Representation
C++cs::ast_class::UC_CLI_TYPEID_ADDRESS
Pythoncs.ast_class.UC_CLI_TYPEID_ADDRESS
Ccsac_uc_cli_typeid_address
Canonical namecc:cli-typeid-address
Superclass cc:address
Attributes
:typeid-type
C++ cs::ast_ordinal::UC_TYPEID_TYPE
Python cs.ast_ordinal.UC_TYPEID_TYPE
C csao_uc_typeid_type
cc:type
The value of the constant is the address of the C++/CLI System::Type ssociated with the given type.
Notes Handle to a C++/CLI System::Type object. Used for C++/CLI T::typeid constants.
CLASS cc:cli-array
API Representation
C++cs::ast_class::UC_CLI_ARRAY
Pythoncs.ast_class.UC_CLI_ARRAY
Ccsac_uc_cli_array
Canonical namecc:cli-array
Superclass cc:address
Notes Handle to a C++/CLI System::Array object. Used for C++/CLI "gcnew" expressions in custom attribute arguments where the array is treated as a constant.
CLASS cc:label-address
API Representation
C++cs::ast_class::UC_LABEL_ADDRESS
Pythoncs.ast_class.UC_LABEL_ADDRESS
Ccsac_uc_label_address
Canonical namecc:label-address
Superclass cc:address
Attributes
:label
C++ cs::ast_ordinal::UC_LABEL
Python cs.ast_ordinal.UC_LABEL
C csao_uc_label
cc:label
The label whose address is the base for this address constant.
Notes The value of a pointer to a label (GNU C extension).
CLASS cc:constant-ptr-to-member
API Representation
C++cs::ast_class::UC_CONSTANT_PTR_TO_MEMBER
Pythoncs.ast_class.UC_CONSTANT_PTR_TO_MEMBER
Ccsac_uc_constant_ptr_to_member
Canonical namecc:constant-ptr-to-member
Superclass cc:constant
Attributes
:field
C++ cs::ast_ordinal::UC_FIELD
Python cs.ast_ordinal.UC_FIELD
C csao_uc_field
cc:field
The field whose address is taken. unavailable if the member is not a field.
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The routine whose address is taken. unavailable if the member is not a member function.
Notes The value of a pointer to member (C++).
CLASS cc:constant-label-difference
API Representation
C++cs::ast_class::UC_CONSTANT_LABEL_DIFFERENCE
Pythoncs.ast_class.UC_CONSTANT_LABEL_DIFFERENCE
Ccsac_uc_constant_label_difference
Canonical namecc:constant-label-difference
Superclass cc:constant
Attributes
:from-address
C++ cs::ast_ordinal::UC_FROM_ADDRESS
Python cs.ast_ordinal.UC_FROM_ADDRESS
C csao_uc_from_address
cc:label-address
The address of the first label.
:to-address
C++ cs::ast_ordinal::UC_TO_ADDRESS
Python cs.ast_ordinal.UC_TO_ADDRESS
C csao_uc_to_address
cc:label-address
The address of the second label.
Notes The difference between two label addresses (GNU C extension).
CLASS cc:constant-dynamic-initialization
API Representation
C++cs::ast_class::UC_CONSTANT_DYNAMIC_INITIALIZATION
Pythoncs.ast_class.UC_CONSTANT_DYNAMIC_INITIALIZATION
Ccsac_uc_constant_dynamic_initialization
Canonical namecc:constant-dynamic-initialization
Superclass cc:constant
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The entry that describes a required dynamic initialization that appears in the middle of an cc:aggregate constant list used as an initializer. Obviously, this is not a constant. Only used in C++.
Notes A non-constant part of an aggregate initialization.
CLASS cc:aggregate
API Representation
C++cs::ast_class::UC_AGGREGATE
Pythoncs.ast_class.UC_AGGREGATE
Ccsac_uc_aggregate
Canonical namecc:aggregate
Superclass cc:constant
Children
:constant-list
C++ cs::ast_ordinal::UC_CONSTANT_LIST
Python cs.ast_ordinal.UC_CONSTANT_LIST
C csao_uc_constant_list
cc:ast-list
List of constants (cc:constant) in { } in an initialization.
Attributes
:explicit-braces-on-aggregate
C++ cs::ast_ordinal::UC_EXPLICIT_BRACES_ON_AGGREGATE
Python cs.ast_ordinal.UC_EXPLICIT_BRACES_ON_AGGREGATE
C csao_uc_explicit_braces_on_aggregate
BOOLEAN
TRUE if the values were surrounded by explicit braces { ... }. This affects the meaning of some designated initializers.
Notes A list of cc:constants in an initialization.
CLASS cc:init-repeat
API Representation
C++cs::ast_class::UC_INIT_REPEAT
Pythoncs.ast_class.UC_INIT_REPEAT
Ccsac_uc_init_repeat
Canonical namecc:init-repeat
Superclass cc:constant
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The repeated constant.
Attributes
:count
C++ cs::ast_ordinal::UC_COUNT
Python cs.ast_ordinal.UC_COUNT
C csao_uc_count
SIZE_T
The repeat count (greater than zero). A count of zero is used for new and delete of an array, and means use the number of elements recorded along with the storage allocation.
:multidimensional-aggr-tail-not-repeated
C++ cs::ast_ordinal::UC_MULTIDIMENSIONAL_AGGR_TAIL_NOT_REPEATED
Python cs.ast_ordinal.UC_MULTIDIMENSIONAL_AGGR_TAIL_NOT_REPEATED
C csao_uc_multidimensional_aggr_tail_not_repeated
BOOLEAN
This flag is used to indicate that the repeated constant contains at least one cc:aggregate (without braces) whose first constant is a cc:designator and contains more than one constant in the aggregate. This situation arises from the use of GNU range extended designators in initializers. When this flag is set only the first constant on the list of the aggregate constant is repeated the first (count-1) times. On the final iteration, the entire list of constants in the aggregate is repeated. This is used to mimic the gcc initializer layout in multi-dimensional arrays.
Notes A repeated initialization constant in an array (C++ only).
CLASS cc:ctp-param
API Representation
C++cs::ast_class::UC_CTP_PARAM
Pythoncs.ast_class.UC_CTP_PARAM
Ccsac_uc_ctp_param
Canonical namecc:ctp-param
Superclass cc:constant-template-param
Notes A simple, non-type template parameter.
CLASS cc:ctp-expr
API Representation
C++cs::ast_class::UC_CTP_EXPR
Pythoncs.ast_class.UC_CTP_EXPR
Ccsac_uc_ctp_expr
Canonical namecc:ctp-expr
Superclass cc:constant-template-param
Children
:template-param-expr
C++ cs::ast_ordinal::UC_TEMPLATE_PARAM_EXPR
Python cs.ast_ordinal.UC_TEMPLATE_PARAM_EXPR
C csao_uc_template_param_expr
cc:expr
Expression representing the constant.
Notes A template parameter constant: an expression.
CLASS cc:ctp-member
API Representation
C++cs::ast_class::UC_CTP_MEMBER
Pythoncs.ast_class.UC_CTP_MEMBER
Ccsac_uc_ctp_member
Canonical namecc:ctp-member
Superclass cc:constant-template-param
Notes A template parameter constant: a member of a cc:template-param class.
CLASS cc:ctp-unknown-function
API Representation
C++cs::ast_class::UC_CTP_UNKNOWN_FUNCTION
Pythoncs.ast_class.UC_CTP_UNKNOWN_FUNCTION
Ccsac_uc_ctp_unknown_function
Canonical namecc:ctp-unknown-function
Superclass cc:constant-template-param
Attributes
:conversion-type
C++ cs::ast_ordinal::UC_CONVERSION_TYPE
Python cs.ast_ordinal.UC_CONVERSION_TYPE
C csao_uc_conversion_type
cc:type
If the unknown function represents a conversion function, this is the result type; unavailable otherwise.
Notes The address of an unknown function called in a template context where overload resolution cannot be done.
CLASS cc:ctp-cast
API Representation
C++cs::ast_class::UC_CTP_CAST
Pythoncs.ast_class.UC_CTP_CAST
Ccsac_uc_ctp_cast
Canonical namecc:ctp-cast
Superclass cc:constant-template-param
Attributes
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The constant that is cast to the type indicated.
Notes A template parameter constant: a cc:constant cast to a type that contains a template parameter type.
CLASS cc:ctp-address
API Representation
C++cs::ast_class::UC_CTP_ADDRESS
Pythoncs.ast_class.UC_CTP_ADDRESS
Ccsac_uc_ctp_address
Canonical namecc:ctp-address
Superclass cc:constant-template-param
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The cc:ctp-member whose address is being taken.
Notes A template parameter constant: the address of a cc:ctp-member.
CLASS cc:ctp-sizeof
API Representation
C++cs::ast_class::UC_CTP_SIZEOF
Pythoncs.ast_class.UC_CTP_SIZEOF
Ccsac_uc_ctp_sizeof
Canonical namecc:ctp-sizeof
Superclass cc:constant-template-param
Attributes
:sizeof-type
C++ cs::ast_ordinal::UC_SIZEOF_TYPE
Python cs.ast_ordinal.UC_SIZEOF_TYPE
C csao_uc_sizeof_type
cc:type
The argument to sizeof.
Notes A template parameter constant: the sizeof operator applied to a type/expression that contains a template parameter type.
CLASS cc:ctp-datasizeof
API Representation
C++cs::ast_class::UC_CTP_DATASIZEOF
Pythoncs.ast_class.UC_CTP_DATASIZEOF
Ccsac_uc_ctp_datasizeof
Canonical namecc:ctp-datasizeof
Superclass cc:constant-template-param
Attributes
:sizeof-type
C++ cs::ast_ordinal::UC_SIZEOF_TYPE
Python cs.ast_ordinal.UC_SIZEOF_TYPE
C csao_uc_sizeof_type
cc:type
The argument to __datasizeof.
Notes A template parameter constant: the __datasizeof operator applied to a type/expression that contains a template parameter type.
CLASS cc:ctp-alignof
API Representation
C++cs::ast_class::UC_CTP_ALIGNOF
Pythoncs.ast_class.UC_CTP_ALIGNOF
Ccsac_uc_ctp_alignof
Canonical namecc:ctp-alignof
Superclass cc:constant-template-param
Attributes
:alignof-type
C++ cs::ast_ordinal::UC_ALIGNOF_TYPE
Python cs.ast_ordinal.UC_ALIGNOF_TYPE
C csao_uc_alignof_type
cc:type
The type whose __ALIGNOF__ is represented.
Notes A template parameter constant: the __ALIGNOF__ operator applied to a type/expression that contains a template parameter type.
CLASS cc:ctp-uuidof
API Representation
C++cs::ast_class::UC_CTP_UUIDOF
Pythoncs.ast_class.UC_CTP_UUIDOF
Ccsac_uc_ctp_uuidof
Canonical namecc:ctp-uuidof
Superclass cc:constant-template-param
Attributes
:uuidof-type
C++ cs::ast_ordinal::UC_UUIDOF_TYPE
Python cs.ast_ordinal.UC_UUIDOF_TYPE
C csao_uc_uuidof_type
cc:type
The type whose __uuidof is represented. unavailable for __uuidof(0).
Notes A template parameter constant: the __uuidof operator applied to a type that contains a template parameter type. (Microsoft extension.)
CLASS cc:ctp-typeid
API Representation
C++cs::ast_class::UC_CTP_TYPEID
Pythoncs.ast_class.UC_CTP_TYPEID
Ccsac_uc_ctp_typeid
Canonical namecc:ctp-typeid
Superclass cc:constant-template-param
Attributes
:typeid-type
C++ cs::ast_ordinal::UC_TYPEID_TYPE
Python cs.ast_ordinal.UC_TYPEID_TYPE
C csao_uc_typeid_type
cc:type
The type whose typeid is represented.
Notes A template parameter constant: the typeid operator applied to a type or expression that contains a template parameter type.
CLASS cc:ctp-noexcept
API Representation
C++cs::ast_class::UC_CTP_NOEXCEPT
Pythoncs.ast_class.UC_CTP_NOEXCEPT
Ccsac_uc_ctp_noexcept
Canonical namecc:ctp-noexcept
Superclass cc:constant-template-param
Notes A template parameter constant: the noexcept operator applied to an expression that contains a template parameter type.
CLASS cc:ctp-template-ref
API Representation
C++cs::ast_class::UC_CTP_TEMPLATE_REF
Pythoncs.ast_class.UC_CTP_TEMPLATE_REF
Ccsac_uc_ctp_template_ref
Canonical namecc:ctp-template-ref
Superclass cc:constant-template-param
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
Identifies the unknown template.
:template-args
C++ cs::ast_ordinal::UC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_TEMPLATE_ARGS
C csao_uc_template_args
cc:ast-list
List of template arguments (cc:template-arg).
Notes A template parameter constant that provides the address of an unknown function template and a set of explicit template arguments for that template.
CLASS cc:ctp-integer-pack
API Representation
C++cs::ast_class::UC_CTP_INTEGER_PACK
Pythoncs.ast_class.UC_CTP_INTEGER_PACK
Ccsac_uc_ctp_integer_pack
Canonical namecc:ctp-integer-pack
Superclass cc:constant-template-param
Children
:bound
C++ cs::ast_ordinal::UC_BOUND
Python cs.ast_ordinal.UC_BOUND
C csao_uc_bound
cc:constant
The dependent bound.
Notes The template param constant represents a dependent "__integer_pack(N)..." construct.
CLASS cc:ctp-destructor
API Representation
C++cs::ast_class::UC_CTP_DESTRUCTOR
Pythoncs.ast_class.UC_CTP_DESTRUCTOR
Ccsac_uc_ctp_destructor
Canonical namecc:ctp-destructor
Superclass cc:constant-template-param
Attributes
:assoc-type
C++ cs::ast_ordinal::UC_ASSOC_TYPE
Python cs.ast_ordinal.UC_ASSOC_TYPE
C csao_uc_assoc_type
cc:type
The nonreal type whose destructor is represented.
Notes A template parameter constant that provides represents a destructor of a nonreal class.
CLASS cc:designator
API Representation
C++cs::ast_class::UC_DESIGNATOR
Pythoncs.ast_class.UC_DESIGNATOR
Ccsac_uc_designator
Canonical namecc:designator
Superclass cc:constant
Children
:array-element
C++ cs::ast_ordinal::UC_ARRAY_ELEMENT
Python cs.ast_ordinal.UC_ARRAY_ELEMENT
C csao_uc_array_element
SIZE_T
unavailable if csao_uc_field is not unavailable. Otherwise the subscript indicated by the designator.
Attributes
:field
C++ cs::ast_ordinal::UC_FIELD
Python cs.ast_ordinal.UC_FIELD
C csao_uc_field
cc:field
unavailable if the designator indicates an array element. Otherwise, the field indicated by a designator.
Notes Identifies a particular element to be initialized.
CLASS cc:void-value
API Representation
C++cs::ast_class::UC_VOID_VALUE
Pythoncs.ast_class.UC_VOID_VALUE
Ccsac_uc_void_value
Canonical namecc:void-value
Superclass cc:constant
Notes In C++14, "void" is a literal type, and folding can produces "values" of that type. This constant kind represents such cases.
CLASS cc:param-type
API Representation
C++cs::ast_class::UC_PARAM_TYPE
Pythoncs.ast_class.UC_PARAM_TYPE
Ccsac_uc_param_type
Canonical namecc:param-type
Superclass cc:ast
Children
:default
C++ cs::ast_ordinal::UC_DEFAULT
Python cs.ast_ordinal.UC_DEFAULT
C csao_uc_default
cc:expr
The default expression.
:attributes
C++ cs::ast_ordinal::UC_ATTRIBUTES
Python cs.ast_ordinal.UC_ATTRIBUTES
C csao_uc_attributes
cc:ast-list
The set of cc:attributes applicable to this parameter.
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type of the parameter.
:declared-type
C++ cs::ast_ordinal::UC_DECLARED_TYPE
Python cs.ast_ordinal.UC_DECLARED_TYPE
C csao_uc_declared_type
cc:type
The type before any transformations (like array-to-pointer decay) were applied. This is unavailable for compiler generated parameters.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:name
C++ cs::ast_ordinal::UC_NAME
Python cs.ast_ordinal.UC_NAME
C csao_uc_name
STRING
The declared name of the identifier.
:gnu-is-transparent
C++ cs::ast_ordinal::UC_GNU_IS_TRANSPARENT
Python cs.ast_ordinal.UC_GNU_IS_TRANSPARENT
C csao_uc_gnu_is_transparent
BOOLEAN
For a parameter of union type, true if the union is transparent.
Notes An entry in a function parameter type list.
CLASS cc:error-type
API Representation
C++cs::ast_class::UC_ERROR_TYPE
Pythoncs.ast_class.UC_ERROR_TYPE
Ccsac_uc_error_type
Canonical namecc:error-type
Superclass cc:type
Notes Type is unknown due to an error.
CLASS cc:void
API Representation
C++cs::ast_class::UC_VOID
Pythoncs.ast_class.UC_VOID
Ccsac_uc_void
Canonical namecc:void
Superclass cc:type
Notes void (has no type).
CLASS cc:integer
API Representation
C++cs::ast_class::UC_INTEGER
Pythoncs.ast_class.UC_INTEGER
Ccsac_uc_integer
Canonical namecc:integer
Superclass cc:type
Subclasses
Children
:integer-kind
C++ cs::ast_ordinal::UC_INTEGER_KIND
Python cs.ast_ordinal.UC_INTEGER_KIND
C csao_uc_integer_kind
int_kind
Which kind of integer type.
Attributes
:is-unsigned
C++ cs::ast_ordinal::UC_IS_UNSIGNED
Python cs.ast_ordinal.UC_IS_UNSIGNED
C csao_uc_is_unsigned
BOOLEAN
:explicitly-signed
C++ cs::ast_ordinal::UC_EXPLICITLY_SIGNED
Python cs.ast_ordinal.UC_EXPLICITLY_SIGNED
C csao_uc_explicitly_signed
BOOLEAN
true if the type specifiers for this type included signed explicitly. Needed for bit fields, where signed int and int may not mean the same thing.
:distinct-type-name
C++ cs::ast_ordinal::UC_DISTINCT_TYPE_NAME
Python cs.ast_ordinal.UC_DISTINCT_TYPE_NAME
C csao_uc_distinct_type_name
distinct_type_kind
Unavailable if this type is not a distinct type.

Otherwise, specifies the kind of distinct type it is. For example, C++ bool and C99 _Bool are both bool_type. C++ wchar_t is wchar_t_type, unless the front end has been instructed not to treat wchar_t as a keyword (via --no_wchar_keyword), in which case the field is not available.

CLASS cc:enum
API Representation
C++cs::ast_class::UC_ENUM
Pythoncs.ast_class.UC_ENUM
Ccsac_uc_enum
Canonical namecc:enum
Superclass cc:integer
Children
:constant-list
C++ cs::ast_ordinal::UC_CONSTANT_LIST
Python cs.ast_ordinal.UC_CONSTANT_LIST
C csao_uc_constant_list
cc:ast-list
The list of constants (cc:constant) that defines the enumeration.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-scoped-enum
C++ cs::ast_ordinal::UC_IS_SCOPED_ENUM
Python cs.ast_ordinal.UC_IS_SCOPED_ENUM
C csao_uc_is_scoped_enum
BOOLEAN
true if this type is a scoped enum type.
:explicit-underlying-type
C++ cs::ast_ordinal::UC_EXPLICIT_UNDERLYING_TYPE
Python cs.ast_ordinal.UC_EXPLICIT_UNDERLYING_TYPE
C csao_uc_explicit_underlying_type
cc:type
The underlying type of the enum if it was explicitly specified.
CLASS cc:fixed-point
API Representation
C++cs::ast_class::UC_FIXED_POINT
Pythoncs.ast_class.UC_FIXED_POINT
Ccsac_uc_fixed_point
Canonical namecc:fixed-point
Superclass cc:type
Children
:precision
C++ cs::ast_ordinal::UC_PRECISION
Python cs.ast_ordinal.UC_PRECISION
C csao_uc_precision
fixed_point_precision
:is-unsigned
C++ cs::ast_ordinal::UC_IS_UNSIGNED
Python cs.ast_ordinal.UC_IS_UNSIGNED
C csao_uc_is_unsigned
BOOLEAN
:is-fract
C++ cs::ast_ordinal::UC_IS_FRACT
Python cs.ast_ordinal.UC_IS_FRACT
C csao_uc_is_fract
BOOLEAN
Notes Fixed-point type.
CLASS cc:float
API Representation
C++cs::ast_class::UC_FLOAT
Pythoncs.ast_class.UC_FLOAT
Ccsac_uc_float
Canonical namecc:float
Superclass cc:type
Children
:float-kind
C++ cs::ast_ordinal::UC_FLOAT_KIND
Python cs.ast_ordinal.UC_FLOAT_KIND
C csao_uc_float_kind
flt_kind
Which size of float.
Notes Float type.
CLASS cc:imaginary
API Representation
C++cs::ast_class::UC_IMAGINARY
Pythoncs.ast_class.UC_IMAGINARY
Ccsac_uc_imaginary
Canonical namecc:imaginary
Superclass cc:type
Children
:float-kind
C++ cs::ast_ordinal::UC_FLOAT_KIND
Python cs.ast_ordinal.UC_FLOAT_KIND
C csao_uc_float_kind
flt_kind
Which size of float.
Notes Imaginary number type.
CLASS cc:complex
API Representation
C++cs::ast_class::UC_COMPLEX
Pythoncs.ast_class.UC_COMPLEX
Ccsac_uc_complex
Canonical namecc:complex
Superclass cc:type
Children
:float-kind
C++ cs::ast_ordinal::UC_FLOAT_KIND
Python cs.ast_ordinal.UC_FLOAT_KIND
C csao_uc_float_kind
flt_kind
Which size of float (for each part of the complex number).
Notes Complex number type.
CLASS cc:pointer
API Representation
C++cs::ast_class::UC_POINTER
Pythoncs.ast_class.UC_POINTER
Ccsac_uc_pointer
Canonical namecc:pointer
Superclass cc:type
Attributes
:pointed-to
C++ cs::ast_ordinal::UC_POINTED_TO
Python cs.ast_ordinal.UC_POINTED_TO
C csao_uc_pointed_to
cc:type
Type pointed to by this pointer type.
:is-reference
C++ cs::ast_ordinal::UC_IS_REFERENCE
Python cs.ast_ordinal.UC_IS_REFERENCE
C csao_uc_is_reference
BOOLEAN
If true, this type is a C++ reference type.
:is-rvalue-reference
C++ cs::ast_ordinal::UC_IS_RVALUE_REFERENCE
Python cs.ast_ordinal.UC_IS_RVALUE_REFERENCE
C csao_uc_is_rvalue_reference
BOOLEAN
If true, this type is a C++0x rvalue reference type.
Notes Pointer or C++ reference type.
CLASS cc:routine-type
API Representation
C++cs::ast_class::UC_ROUTINE_TYPE
Pythoncs.ast_class.UC_ROUTINE_TYPE
Ccsac_uc_routine_type
Canonical namecc:routine-type
Superclass cc:type
Children
:param-types
C++ cs::ast_ordinal::UC_PARAM_TYPES
Python cs.ast_ordinal.UC_PARAM_TYPES
C csao_uc_param_types
cc:ast-list
List of parameters (cc:param-type).
:exception-specification
C++ cs::ast_ordinal::UC_EXCEPTION_SPECIFICATION
Python cs.ast_ordinal.UC_EXCEPTION_SPECIFICATION
C csao_uc_exception_specification
cc:exception-specification
:qualifiers
C++ cs::ast_ordinal::UC_QUALIFIERS
Python cs.ast_ordinal.UC_QUALIFIERS
C csao_uc_qualifiers
cc:enum-list
List of type qualifiers (type_qualifier). The order is the same as that given in the documentation for type_qualifier
:this-qualifiers
C++ cs::ast_ordinal::UC_THIS_QUALIFIERS
Python cs.ast_ordinal.UC_THIS_QUALIFIERS
C csao_uc_this_qualifiers
cc:enum-list
Used for nonstatic member functions: The type qualifiers (type_qualifier) that apply to the this itself (unlike "qualifiers" which describe type qualifiers applicable to the object pointed to by this ).
Attributes
:return-type
C++ cs::ast_ordinal::UC_RETURN_TYPE
Python cs.ast_ordinal.UC_RETURN_TYPE
C csao_uc_return_type
cc:type
The return type.
:trailing-return-type
C++ cs::ast_ordinal::UC_TRAILING_RETURN_TYPE
Python cs.ast_ordinal.UC_TRAILING_RETURN_TYPE
C csao_uc_trailing_return_type
BOOLEAN
true for function declarators specifying a trailing return type.
:prototyped
C++ cs::ast_ordinal::UC_PROTOTYPED
Python cs.ast_ordinal.UC_PROTOTYPED
C csao_uc_prototyped
BOOLEAN
true if the function interface is a prototyped interface, false if it is old-style.
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
If this type is the type for a function that has been defined (has a body), this points to the associated function. Otherwise, it is unavailable.
:has-ellipsis
C++ cs::ast_ordinal::UC_HAS_ELLIPSIS
Python cs.ast_ordinal.UC_HAS_ELLIPSIS
C csao_uc_has_ellipsis
BOOLEAN
true if there is an ellipsis ( ... ) at the end of the prototyped parameter list, indicating a variable number of arguments.
:value-returned-by-cctor
C++ cs::ast_ordinal::UC_VALUE_RETURNED_BY_CCTOR
Python cs.ast_ordinal.UC_VALUE_RETURNED_BY_CCTOR
C csao_uc_value_returned_by_cctor
BOOLEAN
true if the caller provides a place for the return value (by passing its address as a parameter), and the called routine must place its result in that location.
:calling-convention
C++ cs::ast_ordinal::UC_CALLING_CONVENTION
Python cs.ast_ordinal.UC_CALLING_CONVENTION
C csao_uc_calling_convention
calling_convention
Calling convention for this routine (e.g., __cdecl, __fastcall).
:this-class
C++ cs::ast_ordinal::UC_THIS_CLASS
Python cs.ast_ordinal.UC_THIS_CLASS
C csao_uc_this_class
cc:type
For nonstatic member functions this is the (unqualified, untypedefed) class type of which they are a member (i.e., the class of *this). For any other routine type this is unavailable.
:gnu-does-not-return
C++ cs::ast_ordinal::UC_GNU_DOES_NOT_RETURN
Python cs.ast_ordinal.UC_GNU_DOES_NOT_RETURN
C csao_uc_gnu_does_not_return
BOOLEAN
true if the type was declared with the noreturn attribute.
:gnu-is-const
C++ cs::ast_ordinal::UC_GNU_IS_CONST
Python cs.ast_ordinal.UC_GNU_IS_CONST
C csao_uc_gnu_is_const
BOOLEAN
true if the type was declared with the const attribute.
:storage-class
C++ cs::ast_ordinal::UC_STORAGE_CLASS
Python cs.ast_ordinal.UC_STORAGE_CLASS
C csao_uc_storage_class
ENUM
The default name linkage when the routine was declared.
Notes Function type.
CLASS cc:array
API Representation
C++cs::ast_class::UC_ARRAY
Pythoncs.ast_class.UC_ARRAY
Ccsac_uc_array
Canonical namecc:array
Superclass cc:generic-array
Children
:num-elements
C++ cs::ast_ordinal::UC_NUM_ELEMENTS
Python cs.ast_ordinal.UC_NUM_ELEMENTS
C csao_uc_num_elements
SIZE_T
The number of elements in the array, or zero for incomplete types and those whose bounds are determined at run-time. This is an unsigned integer in the common case. If this is a variable length array, expect unavailable.
Notes (Fixed length) array type.
CLASS cc:vla
API Representation
C++cs::ast_class::UC_VLA
Pythoncs.ast_class.UC_VLA
Ccsac_uc_vla
Canonical namecc:vla
Superclass cc:generic-array
Children
:num-elements
C++ cs::ast_ordinal::UC_NUM_ELEMENTS
Python cs.ast_ordinal.UC_NUM_ELEMENTS
C csao_uc_num_elements
cc:expr
An expression for the number of elements in the array.
Notes Variable length array type.
CLASS cc:class
API Representation
C++cs::ast_class::UC_CLASS
Pythoncs.ast_class.UC_CLASS
Ccsac_uc_class
Canonical namecc:class
Superclass cc:class-struct-union
Notes Class type.
CLASS cc:struct
API Representation
C++cs::ast_class::UC_STRUCT
Pythoncs.ast_class.UC_STRUCT
Ccsac_uc_struct
Canonical namecc:struct
Superclass cc:class-struct-union
Notes Struct type.
CLASS cc:union
API Representation
C++cs::ast_class::UC_UNION
Pythoncs.ast_class.UC_UNION
Ccsac_uc_union
Canonical namecc:union
Superclass cc:class-struct-union
Attributes
:anonymous-union-kind
C++ cs::ast_ordinal::UC_ANONYMOUS_UNION_KIND
Python cs.ast_ordinal.UC_ANONYMOUS_UNION_KIND
C csao_uc_anonymous_union_kind
anonymous_union_kind
Indication of whether this class is an anonymous union, and if so whether it is a field of some other class or a variable.
:anonymous-union-field
C++ cs::ast_ordinal::UC_ANONYMOUS_UNION_FIELD
Python cs.ast_ordinal.UC_ANONYMOUS_UNION_FIELD
C csao_uc_anonymous_union_field
cc:field
If csao_uc_anonymous_union_kind is csae_c_auk_field, the unnamed field entry whose type is the anonymous union; otherwise unavailable.
Notes Union type.
CLASS cc:typeref
API Representation
C++cs::ast_class::UC_TYPEREF
Pythoncs.ast_class.UC_TYPEREF
Ccsac_uc_typeref
Canonical namecc:typeref
Superclass cc:type
Children
:qualifiers
C++ cs::ast_ordinal::UC_QUALIFIERS
Python cs.ast_ordinal.UC_QUALIFIERS
C csao_uc_qualifiers
cc:enum-list
List of type qualifiers (type_qualifier). The order is the same as that given in the documentation for type_qualifier
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression argument for a decltype or typeref construct.
:template-args
C++ cs::ast_ordinal::UC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_TEMPLATE_ARGS
C csao_uc_template_args
cc:ast-list
For types that are instantiations of a template alias, this points to the template argument list on which the instantiation is based.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type referenced.
:gnu-is-typeof
C++ cs::ast_ordinal::UC_GNU_IS_TYPEOF
Python cs.ast_ordinal.UC_GNU_IS_TYPEOF
C csao_uc_gnu_is_typeof
BOOLEAN
The type was created by a typeof operator (GNU C extension).
:is-decltype
C++ cs::ast_ordinal::UC_IS_DECLTYPE
Python cs.ast_ordinal.UC_IS_DECLTYPE
C csao_uc_is_decltype
BOOLEAN
The type was created by a decltype operator.
:is-deduced-decltype-auto
C++ cs::ast_ordinal::UC_IS_DEDUCED_DECLTYPE_AUTO
Python cs.ast_ordinal.UC_IS_DEDUCED_DECLTYPE_AUTO
C csao_uc_is_deduced_decltype_auto
BOOLEAN
The type was created from a decltype(auto) specifier.
:is-deduced-auto
C++ cs::ast_ordinal::UC_IS_DEDUCED_AUTO
Python cs.ast_ordinal.UC_IS_DEDUCED_AUTO
C csao_uc_is_deduced_auto
BOOLEAN
The type was created from an auto type specifier.
:is-using
C++ cs::ast_ordinal::UC_IS_USING
Python cs.ast_ordinal.UC_IS_USING
C csao_uc_is_using
BOOLEAN
The type was created from the alias syntax, e.g. using T = int;.
:assoc-template
C++ cs::ast_ordinal::UC_ASSOC_TEMPLATE
Python cs.ast_ordinal.UC_ASSOC_TEMPLATE
C csao_uc_assoc_template
cc:template
For instantiated entities, this points to the the template from which they were generated.
Notes A use of a typedef, or the addition of type qualifiers to a type.
CLASS cc:ptr-to-member
API Representation
C++cs::ast_class::UC_PTR_TO_MEMBER
Pythoncs.ast_class.UC_PTR_TO_MEMBER
Ccsac_uc_ptr_to_member
Canonical namecc:ptr-to-member
Superclass cc:type
Attributes
:container-type
C++ cs::ast_ordinal::UC_CONTAINER_TYPE
Python cs.ast_ordinal.UC_CONTAINER_TYPE
C csao_uc_container_type
cc:type
Type of the class to which the member pointed to belongs.
:member-type
C++ cs::ast_ordinal::UC_MEMBER_TYPE
Python cs.ast_ordinal.UC_MEMBER_TYPE
C csao_uc_member_type
cc:type
Type of the member that is pointed to.
Notes Pointer-to-member type (C++ only).
CLASS cc:template-param
API Representation
C++cs::ast_class::UC_TEMPLATE_PARAM
Pythoncs.ast_class.UC_TEMPLATE_PARAM
Ccsac_uc_template_param
Canonical namecc:template-param
Superclass cc:type
Notes Type parameter in a template declaration.
CLASS cc:vector-type
API Representation
C++cs::ast_class::UC_VECTOR_TYPE
Pythoncs.ast_class.UC_VECTOR_TYPE
Ccsac_uc_vector_type
Canonical namecc:vector-type
Superclass cc:type
Attributes
:element-type
C++ cs::ast_ordinal::UC_ELEMENT_TYPE
Python cs.ast_ordinal.UC_ELEMENT_TYPE
C csao_uc_element_type
cc:type
The type of the elements of the vector.
Notes Vector type (GNU extension).
CLASS cc:scalable-vector-type
API Representation
C++cs::ast_class::UC_SCALABLE_VECTOR_TYPE
Pythoncs.ast_class.UC_SCALABLE_VECTOR_TYPE
Ccsac_uc_scalable_vector_type
Canonical namecc:scalable-vector-type
Superclass cc:type
Attributes
:element-type
C++ cs::ast_ordinal::UC_ELEMENT_TYPE
Python cs.ast_ordinal.UC_ELEMENT_TYPE
C csao_uc_element_type
cc:type
The type of the elements of the vector.
Notes Scalable vector type.
CLASS cc:scalable-vector-count-type
API Representation
C++cs::ast_class::UC_SCALABLE_VECTOR_COUNT_TYPE
Pythoncs.ast_class.UC_SCALABLE_VECTOR_COUNT_TYPE
Ccsac_uc_scalable_vector_count_type
Canonical namecc:scalable-vector-count-type
Superclass cc:type
Notes Opaque scalable vector count type. Represents a counter predicate.
CLASS cc:nullptr-type
API Representation
C++cs::ast_class::UC_NULLPTR_TYPE
Pythoncs.ast_class.UC_NULLPTR_TYPE
Ccsac_uc_nullptr_type
Canonical namecc:nullptr-type
Superclass cc:type
CLASS cc:codesurfer-type
API Representation
C++cs::ast_class::UC_CODESURFER_TYPE
Pythoncs.ast_class.UC_CODESURFER_TYPE
Ccsac_uc_codesurfer_type
Canonical namecc:codesurfer-type
Superclass cc:type
Children
:codesurfer-type-kind
C++ cs::ast_ordinal::UC_CODESURFER_TYPE_KIND
Python cs.ast_ordinal.UC_CODESURFER_TYPE_KIND
C csao_uc_codesurfer_type_kind
codesurfer_type_kind
This field tells exactly why CodeSonar does not know the exact type.
CLASS cc:variable
API Representation
C++cs::ast_class::UC_VARIABLE
Pythoncs.ast_class.UC_VARIABLE
Ccsac_uc_variable
Canonical namecc:variable
Superclass cc:ast
Subclasses
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:decl-modifiers
C++ cs::ast_ordinal::UC_DECL_MODIFIERS
Python cs.ast_ordinal.UC_DECL_MODIFIERS
C csao_uc_decl_modifiers
cc:enum-list
List of additional declaration information (decl_modifier) supplied by nonstandard language features such as the Microsoft storage-class-like __declspec modifiers.
:binding-init
C++ cs::ast_ordinal::UC_BINDING_INIT
Python cs.ast_ordinal.UC_BINDING_INIT
C csao_uc_binding_init
cc:binding-initializer
For the bindings in a structured binding, the lvalue expression they stand for.
:static-init
C++ cs::ast_ordinal::UC_STATIC_INIT
Python cs.ast_ordinal.UC_STATIC_INIT
C csao_uc_static_init
cc:initializer
The initializer, if not dynamic or binding, e.g is a literal.
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
Type of the variable.
:declared-type
C++ cs::ast_ordinal::UC_DECLARED_TYPE
Python cs.ast_ordinal.UC_DECLARED_TYPE
C csao_uc_declared_type
cc:type
The type as it actually appears in the declaration of the variable at the point of its definition; unavailable if there is no defining declaration. When the variable is a parameter,the type is what actually appeared in the parameter declaration -- e.g., before an array decays to a pointer.
:abs-loc
C++ cs::ast_ordinal::UC_ABS_LOC
Python cs.ast_ordinal.UC_ABS_LOC
C csao_uc_abs_loc
ABS_LOC
The ABS_LOC corresponding to this variable.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:column-position
C++ cs::ast_ordinal::UC_COLUMN_POSITION
Python cs.ast_ordinal.UC_COLUMN_POSITION
C csao_uc_column_position
UINT32
Column number on which this AST occurs.
:specifier-line
C++ cs::ast_ordinal::UC_SPECIFIER_LINE
Python cs.ast_ordinal.UC_SPECIFIER_LINE
C csao_uc_specifier_line
UINT32
Line number (in preprocessed source file) on which the specifier of this variable occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:specifier-column-position
C++ cs::ast_ordinal::UC_SPECIFIER_COLUMN_POSITION
Python cs.ast_ordinal.UC_SPECIFIER_COLUMN_POSITION
C csao_uc_specifier_column_position
UINT32
Column number on which the specifier of this variable occurs.
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The initializer, if dynamic, e.g. is a function call.
:storage-class
C++ cs::ast_ordinal::UC_STORAGE_CLASS
Python cs.ast_ordinal.UC_STORAGE_CLASS
C csao_uc_storage_class
storage_class
Effective storage class.
:declared-storage-class
C++ cs::ast_ordinal::UC_DECLARED_STORAGE_CLASS
Python cs.ast_ordinal.UC_DECLARED_STORAGE_CLASS
C csao_uc_declared_storage_class
storage_class
Storage class shown in the source code.
:declared-with-auto-type-specifier
C++ cs::ast_ordinal::UC_DECLARED_WITH_AUTO_TYPE_SPECIFIER
Python cs.ast_ordinal.UC_DECLARED_WITH_AUTO_TYPE_SPECIFIER
C csao_uc_declared_with_auto_type_specifier
BOOLEAN
true if the variable's declaration contains the type specifier (not the storage class specifier) auto.
:address-taken
C++ cs::ast_ordinal::UC_ADDRESS_TAKEN
Python cs.ast_ordinal.UC_ADDRESS_TAKEN
C csao_uc_address_taken
BOOLEAN
true if the address of this variable has been taken somewhere.
:referenced-non-locally
C++ cs::ast_ordinal::UC_REFERENCED_NON_LOCALLY
Python cs.ast_ordinal.UC_REFERENCED_NON_LOCALLY
C csao_uc_referenced_non_locally
BOOLEAN
true if the variable is a local static variable that is referenced from outside of its function (e.g., from a member function of a local class). true only in C++.
:modified-within-try-block
C++ cs::ast_ordinal::UC_MODIFIED_WITHIN_TRY_BLOCK
Python cs.ast_ordinal.UC_MODIFIED_WITHIN_TRY_BLOCK
C csao_uc_modified_within_try_block
BOOLEAN
true if the variable is a local variable that is modified within a try block and declared in a scope containing that try block. C++ only.
:is-template-static-data-member
C++ cs::ast_ordinal::UC_IS_TEMPLATE_STATIC_DATA_MEMBER
Python cs.ast_ordinal.UC_IS_TEMPLATE_STATIC_DATA_MEMBER
C csao_uc_is_template_static_data_member
BOOLEAN
true if this is a static data member that is a member of a class generated from a template, including both the case where the static data member is generated from the template and the case where a specialization of the static data member is provided by the user. false for all other cases, including a static data member of a class that is a specialization of a template class.
:is-specialized
C++ cs::ast_ordinal::UC_IS_SPECIALIZED
Python cs.ast_ordinal.UC_IS_SPECIALIZED
C csao_uc_is_specialized
BOOLEAN
true when csao_uc_is_template_static_data_member is true but the definition is supplied independently of the template with which it is associated. This flag may be set as a result of a specialization declaration (either an old-style declaration or one using the template<> syntax), or if the static data member was specified in a do-not-instantiate pragma.
:specialized-with-old-syntax
C++ cs::ast_ordinal::UC_SPECIALIZED_WITH_OLD_SYNTAX
Python cs.ast_ordinal.UC_SPECIALIZED_WITH_OLD_SYNTAX
C csao_uc_specialized_with_old_syntax
BOOLEAN
true if csao_uc_is_specialized is true but the static data member was not explicitly declared with the template<> syntax.
:is-parameter-pack
C++ cs::ast_ordinal::UC_IS_PARAMETER_PACK
Python cs.ast_ordinal.UC_IS_PARAMETER_PACK
C csao_uc_is_parameter_pack
BOOLEAN
true for the parameter variable for a function parameter pack of a variadic template.
:is-pack-element
C++ cs::ast_ordinal::UC_IS_PACK_ELEMENT
Python cs.ast_ordinal.UC_IS_PACK_ELEMENT
C csao_uc_is_pack_element
BOOLEAN
true for parameters of an actual instantiation of a variadic template for those parameters that are associated with a parameter pack of the original variadic template.
:can-be-instantiated
C++ cs::ast_ordinal::UC_CAN_BE_INSTANTIATED
Python cs.ast_ordinal.UC_CAN_BE_INSTANTIATED
C csao_uc_can_be_instantiated
BOOLEAN
true if this is a template static data member that could be instantiated by this compilation. false if csao_uc_is_template_static_data_member is false.
:do-not-instantiate
C++ cs::ast_ordinal::UC_DO_NOT_INSTANTIATE
Python cs.ast_ordinal.UC_DO_NOT_INSTANTIATE
C csao_uc_do_not_instantiate
BOOLEAN
true if a do-not-instantiate pragma was present for this template static data member. false if csao_uc_is_template_static_data_member is false.
:instance-required
C++ cs::ast_ordinal::UC_INSTANCE_REQUIRED
Python cs.ast_ordinal.UC_INSTANCE_REQUIRED
C csao_uc_instance_required
BOOLEAN
true for a static data member of a template class for which a definition (either template generated or a specific definition) must be supplied in this compilation unit or in another compilation unit with which this unit will be linked. Implies that the static data member is referenced in this compilation. false if csao_uc_is_template_static_data_member is false.
:is-anonymous-parent-object
C++ cs::ast_ordinal::UC_IS_ANONYMOUS_PARENT_OBJECT
Python cs.ast_ordinal.UC_IS_ANONYMOUS_PARENT_OBJECT
C csao_uc_is_anonymous_parent_object
BOOLEAN
true if csao_uc_type is the type of an anonymous union -- this variable is the parent object of which the anonymous union members are subobjects.
:is-member-constant
C++ cs::ast_ordinal::UC_IS_MEMBER_CONSTANT
Python cs.ast_ordinal.UC_IS_MEMBER_CONSTANT
C csao_uc_is_member_constant
BOOLEAN
true if the variable represents a static data member for which an initializer was specified at its declaration within the class definition
:is-constexpr
C++ cs::ast_ordinal::UC_IS_CONSTEXPR
Python cs.ast_ordinal.UC_IS_CONSTEXPR
C csao_uc_is_constexpr
BOOLEAN
true if this is a static data member declared with the constexpr specifier, or if this is another kind of variable defined with that specifier.
:superseded-external
C++ cs::ast_ordinal::UC_SUPERSEDED_EXTERNAL
Python cs.ast_ordinal.UC_SUPERSEDED_EXTERNAL
C csao_uc_superseded_external
BOOLEAN
true (in SVR4 C mode only) if the current variable was created to represent a block extern declaration whose type is incompatible with that of another file-scope variable with the same name, where the latter is treated as the official variable.
:has-variably-modified-type
C++ cs::ast_ordinal::UC_HAS_VARIABLY_MODIFIED_TYPE
Python cs.ast_ordinal.UC_HAS_VARIABLY_MODIFIED_TYPE
C csao_uc_has_variably_modified_type
BOOLEAN
The type of the variable is a variably modified type, i.e., is or contains a VLA type.
:is-vla
C++ cs::ast_ordinal::UC_IS_VLA
Python cs.ast_ordinal.UC_IS_VLA
C csao_uc_is_vla
BOOLEAN
The variable is a variable length array, i.e., its type is a VLA type.
:is-compound-literal
C++ cs::ast_ordinal::UC_IS_COMPOUND_LITERAL
Python cs.ast_ordinal.UC_IS_COMPOUND_LITERAL
C csao_uc_is_compound_literal
BOOLEAN
true if this variable was generated by the front end to hold a static compound literal.
:has-parenthesized-initializer
C++ cs::ast_ordinal::UC_HAS_PARENTHESIZED_INITIALIZER
Python cs.ast_ordinal.UC_HAS_PARENTHESIZED_INITIALIZER
C csao_uc_has_parenthesized_initializer
BOOLEAN
true if this variable is initialized with a parenthesized initializer; false indicates an "="-form initializer, an implicit initializer, or no initializer at all.
:has-direct-braced-initializer
C++ cs::ast_ordinal::UC_HAS_DIRECT_BRACED_INITIALIZER
Python cs.ast_ordinal.UC_HAS_DIRECT_BRACED_INITIALIZER
C csao_uc_has_direct_braced_initializer
BOOLEAN
true if this variable is initialized with a braced initializer immediately following the variable (e.g., "x{0}" but not "x={0}"); false indicates an "="-form initializer, an initializer without braces, or no initializer at all.
:gnu-asm-name-is-valid
C++ cs::ast_ordinal::UC_GNU_ASM_NAME_IS_VALID
Python cs.ast_ordinal.UC_GNU_ASM_NAME_IS_VALID
C csao_uc_gnu_asm_name_is_valid
BOOLEAN
:gnu-asm-name-or-reg-name
C++ cs::ast_ordinal::UC_GNU_ASM_NAME_OR_REG_NAME
Python cs.ast_ordinal.UC_GNU_ASM_NAME_OR_REG_NAME
C csao_uc_gnu_asm_name_or_reg_name
STRING
Unless this is unavailable or csao_uc_gnu_asm_name_is_valid is true, this is the name to be used as an assembly-language-level symbol for this variable.
:gnu-asm-name-or-reg-reg
C++ cs::ast_ordinal::UC_GNU_ASM_NAME_OR_REG_REG
Python cs.ast_ordinal.UC_GNU_ASM_NAME_OR_REG_REG
C csao_uc_gnu_asm_name_or_reg_reg
named_register
If csao_uc_gnu_asm_name_is_valid is false, the register to which this variable should be assigned
:alignment
C++ cs::ast_ordinal::UC_ALIGNMENT
Python cs.ast_ordinal.UC_ALIGNMENT
C csao_uc_alignment
ALIGNMENT
The explicit alignment specified for the variable, or zero if no alignment specified explicitly.
:gnu-is-weak
C++ cs::ast_ordinal::UC_GNU_IS_WEAK
Python cs.ast_ordinal.UC_GNU_IS_WEAK
C csao_uc_gnu_is_weak
BOOLEAN
true if this variable was declared with the weak attribute.
:maybe-unused
C++ cs::ast_ordinal::UC_MAYBE_UNUSED
Python cs.ast_ordinal.UC_MAYBE_UNUSED
C csao_uc_maybe_unused
BOOLEAN
true if this variable was declared with the GCC unused or the standard maybe_unused attribute.
:gnu-is-not-common
C++ cs::ast_ordinal::UC_GNU_IS_NOT_COMMON
Python cs.ast_ordinal.UC_GNU_IS_NOT_COMMON
C csao_uc_gnu_is_not_common
BOOLEAN
true if this variable should not be placed in COMMON (or an equivalent) even if it is zero-initialized.
:gnu-section
C++ cs::ast_ordinal::UC_GNU_SECTION
Python cs.ast_ordinal.UC_GNU_SECTION
C csao_uc_gnu_section
STRING
Unless unavailable, the section in which this variable should be placed.
:gnu-aliased-variable
C++ cs::ast_ordinal::UC_GNU_ALIASED_VARIABLE
Python cs.ast_ordinal.UC_GNU_ALIASED_VARIABLE
C csao_uc_gnu_aliased_variable
cc:variable
Unless unavailable, the variable for which this variable is an alias.
:gnu-visibility
C++ cs::ast_ordinal::UC_GNU_VISIBILITY
Python cs.ast_ordinal.UC_GNU_VISIBILITY
C csao_uc_gnu_visibility
elf_visibility
The visibility of the variable in the generated ELF object code, as specified by the GNU attribute visibility.
:gnu-init-priority
C++ cs::ast_ordinal::UC_GNU_INIT_PRIORITY
Python cs.ast_ordinal.UC_GNU_INIT_PRIORITY
C csao_uc_gnu_init_priority
UINT32
Unless unavailable, the initialization priority specified by the GNU attribute init_priority. Zero if the attribute was not specified.
:decls
C++ cs::ast_ordinal::UC_DECLS
Python cs.ast_ordinal.UC_DECLS
C csao_uc_decls
cc:ast-list
The declarations associated with a specific variable definition.
Notes A variable, including formal parameters of functions.
CLASS cc:variable-decl
API Representation
C++cs::ast_class::UC_VARIABLE_DECL
Pythoncs.ast_class.UC_VARIABLE_DECL
Ccsac_uc_variable_decl
Canonical namecc:variable-decl
Superclass cc:abstract-decl
CLASS cc:parameter
API Representation
C++cs::ast_class::UC_PARAMETER
Pythoncs.ast_class.UC_PARAMETER
Ccsac_uc_parameter
Canonical namecc:parameter
Superclass cc:variable
Subclasses
Attributes
:param-value-has-been-changed
C++ cs::ast_ordinal::UC_PARAM_VALUE_HAS_BEEN_CHANGED
Python cs.ast_ordinal.UC_PARAM_VALUE_HAS_BEEN_CHANGED
C csao_uc_param_value_has_been_changed
BOOLEAN
true if the variable is assigned to or has had its address taken at least once within the body of the routine or handler.
:param-used-more-than-once
C++ cs::ast_ordinal::UC_PARAM_USED_MORE_THAN_ONCE
Python cs.ast_ordinal.UC_PARAM_USED_MORE_THAN_ONCE
C csao_uc_param_used_more_than_once
BOOLEAN
true if the variable is used more than once within the body of the routine or handler.
Notes A parameter of a function.
CLASS cc:handler-parameter
API Representation
C++cs::ast_class::UC_HANDLER_PARAMETER
Pythoncs.ast_class.UC_HANDLER_PARAMETER
Ccsac_uc_handler_parameter
Canonical namecc:handler-parameter
Superclass cc:parameter
Notes A handler parameter (C++ only).
CLASS cc:this-parameter
API Representation
C++cs::ast_class::UC_THIS_PARAMETER
Pythoncs.ast_class.UC_THIS_PARAMETER
Ccsac_uc_this_parameter
Canonical namecc:this-parameter
Superclass cc:parameter
Notes A this parameter (C++ only).
CLASS cc:field
API Representation
C++cs::ast_class::UC_FIELD
Pythoncs.ast_class.UC_FIELD
Ccsac_uc_field
Canonical namecc:field
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:bit-size-constant
C++ cs::ast_ordinal::UC_BIT_SIZE_CONSTANT
Python cs.ast_ordinal.UC_BIT_SIZE_CONSTANT
C csao_uc_bit_size_constant
cc:constant
An IL constant representing the size of the bit field. (unavailable if this is not a bit field.)
:initializer
C++ cs::ast_ordinal::UC_INITIALIZER
Python cs.ast_ordinal.UC_INITIALIZER
C csao_uc_initializer
cc:dynamic-init
The initializer specified on the field (initializers on nonstatic data members are a C++11 feature).
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
Type of the field. For bit fields, this is the base type.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:offset
C++ cs::ast_ordinal::UC_OFFSET
Python cs.ast_ordinal.UC_OFFSET
C csao_uc_offset
SIZE_T
Offset of this field from the start of the struct (in bytes). Zero for members of unions. If the field is a bit field, this value is the byte-offset component of the actual offset.
:is-bit-field
C++ cs::ast_ordinal::UC_IS_BIT_FIELD
Python cs.ast_ordinal.UC_IS_BIT_FIELD
C csao_uc_is_bit_field
BOOLEAN
true if the field represents a bit field.
:offset-bit-remainder
C++ cs::ast_ordinal::UC_OFFSET_BIT_REMAINDER
Python cs.ast_ordinal.UC_OFFSET_BIT_REMAINDER
C csao_uc_offset_bit_remainder
OFFSET_BIT_REMAINDER
If the field is a bit field, this is the offset of the start of the bit field within the byte specified by offset. Always zero if it is not a bit field; otherwise always >= 0
:bit-size
C++ cs::ast_ordinal::UC_BIT_SIZE
Python cs.ast_ordinal.UC_BIT_SIZE
C csao_uc_bit_size
UINT32
Size of this field (in bits). Only non-zero for bit-fields; for the others, the size is gotten from the type.
:bit-field-is-signed
C++ cs::ast_ordinal::UC_BIT_FIELD_IS_SIGNED
Python cs.ast_ordinal.UC_BIT_FIELD_IS_SIGNED
C csao_uc_bit_field_is_signed
BOOLEAN
true if the field is a signed bit field.
:is-anonymous-parent-object
C++ cs::ast_ordinal::UC_IS_ANONYMOUS_PARENT_OBJECT
Python cs.ast_ordinal.UC_IS_ANONYMOUS_PARENT_OBJECT
C csao_uc_is_anonymous_parent_object
BOOLEAN
true if type is the type of an anonymous union -- this field is the parent object of which the anonymous union members are subobjects.
:is-mutable
C++ cs::ast_ordinal::UC_IS_MUTABLE
Python cs.ast_ordinal.UC_IS_MUTABLE
C csao_uc_is_mutable
BOOLEAN
true if the mutable specifier appeared on the declaration of this nonstatic data member (C++ only).
:get-property-name
C++ cs::ast_ordinal::UC_GET_PROPERTY_NAME
Python cs.ast_ordinal.UC_GET_PROPERTY_NAME
C csao_uc_get_property_name
STRING
When __declspec(property(get=gname,put=pname)) is specified for a field, the get names, null-terminated. unavailable otherwise. unavailable unless in Microsoft C++ mode.
:put-property-name
C++ cs::ast_ordinal::UC_PUT_PROPERTY_NAME
Python cs.ast_ordinal.UC_PUT_PROPERTY_NAME
C csao_uc_put_property_name
STRING
When __declspec(property(get=gname,put=pname)) is specified for a field, the put names, null-terminated. unavailable otherwise. unavailable unless in Microsoft C++ mode.
:get-routine
C++ cs::ast_ordinal::UC_GET_ROUTINE
Python cs.ast_ordinal.UC_GET_ROUTINE
C csao_uc_get_routine
cc:routine
Accessor get routine.
:set-routine
C++ cs::ast_ordinal::UC_SET_ROUTINE
Python cs.ast_ordinal.UC_SET_ROUTINE
C csao_uc_set_routine
cc:routine
Accessor set routine.
:alignment
C++ cs::ast_ordinal::UC_ALIGNMENT
Python cs.ast_ordinal.UC_ALIGNMENT
C csao_uc_alignment
ALIGNMENT
The explicit alignment specified for the field, or zero if there was no explicit alignment.
:gnu-is-packed
C++ cs::ast_ordinal::UC_GNU_IS_PACKED
Python cs.ast_ordinal.UC_GNU_IS_PACKED
C csao_uc_gnu_is_packed
BOOLEAN
true if the field was declared with the GNU packed attribute.
Notes A field of a class, struct, or union, including unnamed bit fields.
CLASS cc:exception-specification
API Representation
C++cs::ast_class::UC_EXCEPTION_SPECIFICATION
Pythoncs.ast_class.UC_EXCEPTION_SPECIFICATION
Ccsac_uc_exception_specification
Canonical namecc:exception-specification
Superclass cc:ast
Attributes
:types
C++ cs::ast_ordinal::UC_TYPES
Python cs.ast_ordinal.UC_TYPES
C csao_uc_types
cc:ast-list
List of the types of exceptions (cc:type) the function will throw.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-noexcept
C++ cs::ast_ordinal::UC_IS_NOEXCEPT
Python cs.ast_ordinal.UC_IS_NOEXCEPT
C csao_uc_is_noexcept
BOOLEAN
true if the exception specification is a C++11-style noexcept form.
:throw-any
C++ cs::ast_ordinal::UC_THROW_ANY
Python cs.ast_ordinal.UC_THROW_ANY
C csao_uc_throw_any
BOOLEAN
true if noexcept(false-constant) or the Microsoft extension throw (...) was encountered. Also true if a noexcept-specifier has a template-dependent argument. It indicates that any exception may be thrown.
:compiler-generated
C++ cs::ast_ordinal::UC_COMPILER_GENERATED
Python cs.ast_ordinal.UC_COMPILER_GENERATED
C csao_uc_compiler_generated
BOOLEAN
true for exception specifications that did not appear in the source code.
Notes An exception specification on a function declaration.
CLASS cc:routine
API Representation
C++cs::ast_class::UC_ROUTINE
Pythoncs.ast_class.UC_ROUTINE
Ccsac_uc_routine
Canonical namecc:routine
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access which would be csae_c_as_public).
:template-args
C++ cs::ast_ordinal::UC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_TEMPLATE_ARGS
C csao_uc_template_args
cc:ast-list
For routines that are instantiations of a function template, a list of entries (cc:template-arg) describing the actual arguments on which the instantiation is based. For routines that are not instances of function templates or member function templates, it is an empty list.
:decl-modifiers
C++ cs::ast_ordinal::UC_DECL_MODIFIERS
Python cs.ast_ordinal.UC_DECL_MODIFIERS
C csao_uc_decl_modifiers
cc:enum-list
Additional declaration information (decl_modifier) supplied by nonstandard language features such as the Microsoft storage-class-like __declspec modifiers.
:storage-class
C++ cs::ast_ordinal::UC_STORAGE_CLASS
Python cs.ast_ordinal.UC_STORAGE_CLASS
C csao_uc_storage_class
storage_class
The storage class is not necessarily what was written in the source program; it is standardized to show the effective storage class rather than the keyword that appeared.
:scope
C++ cs::ast_ordinal::UC_SCOPE
Python cs.ast_ordinal.UC_SCOPE
C csao_uc_scope
cc:scope
This indicates the scope containing local declarations and executable statements if not unavailable. This is available only if the routine has a body.
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
Type of this routine. It is a cc:routine-type entry which gives the return type and parameter information. There may be cc:typerefs on top of the cc:routine-type.
:abs-loc
C++ cs::ast_ordinal::UC_ABS_LOC
Python cs.ast_ordinal.UC_ABS_LOC
C csao_uc_abs_loc
ABS_LOC
The ABS_LOC corresponding to this routine.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:special-function-kind
C++ cs::ast_ordinal::UC_SPECIAL_FUNCTION_KIND
Python cs.ast_ordinal.UC_SPECIAL_FUNCTION_KIND
C csao_uc_special_function_kind
special_function_kind
The special member function kind of which this routine is an instance (e.g., constructor, destructor).
:operator-name-kind
C++ cs::ast_ordinal::UC_OPERATOR_NAME_KIND
Python cs.ast_ordinal.UC_OPERATOR_NAME_KIND
C csao_uc_operator_name_kind
opname_kind_cpp
(can also be a value from opname_kind_cpp where appropriate)

The kind of operator when the csao_uc_special_function_kind is csae_c_sfk_operator.

:address-taken
C++ cs::ast_ordinal::UC_ADDRESS_TAKEN
Python cs.ast_ordinal.UC_ADDRESS_TAKEN
C csao_uc_address_taken
BOOLEAN
true if the address of this routine has been taken somewhere.
:is-virtual
C++ cs::ast_ordinal::UC_IS_VIRTUAL
Python cs.ast_ordinal.UC_IS_VIRTUAL
C csao_uc_is_virtual
BOOLEAN
true for class member functions declared with a virtual specifier (C++ only).
:pure-virtual
C++ cs::ast_ordinal::UC_PURE_VIRTUAL
Python cs.ast_ordinal.UC_PURE_VIRTUAL
C csao_uc_pure_virtual
BOOLEAN
true for virtual member functions declared with a pure specifier (C++ only). true only if csao_uc_is_virtual is also true.
:is-final
C++ cs::ast_ordinal::UC_IS_FINAL
Python cs.ast_ordinal.UC_IS_FINAL
C csao_uc_is_final
BOOLEAN
true a virtual member function that cannot be overridden in a derived class. (Declared using the context-sensitive keyword sealed in some Microsoft modes, or using the attribute final
:is-override
C++ cs::ast_ordinal::UC_IS_OVERRIDE
Python cs.ast_ordinal.UC_IS_OVERRIDE
C csao_uc_is_override
BOOLEAN
true if this routine is declared override
:is-declared-virtual
C++ cs::ast_ordinal::UC_IS_DECLARED_VIRTUAL
Python cs.ast_ordinal.UC_IS_DECLARED_VIRTUAL
C csao_uc_is_declared_virtual
BOOLEAN
true if this routine is declared with an explicit virtual keyword
:covariant-return-virtual-override
C++ cs::ast_ordinal::UC_COVARIANT_RETURN_VIRTUAL_OVERRIDE
Python cs.ast_ordinal.UC_COVARIANT_RETURN_VIRTUAL_OVERRIDE
C csao_uc_covariant_return_virtual_override
BOOLEAN
true if csao_uc_is_virtual is true and this routine is an overriding virtual function with a covariant return type (C++ only).
:is-inline
C++ cs::ast_ordinal::UC_IS_INLINE
Python cs.ast_ordinal.UC_IS_INLINE
C csao_uc_is_inline
BOOLEAN
true for C++ functions that were specified in the source as candidates for inlining (either by the inline keyword or definition within a class definition).
:is-lambda-body
C++ cs::ast_ordinal::UC_IS_LAMBDA_BODY
Python cs.ast_ordinal.UC_IS_LAMBDA_BODY
C csao_uc_is_lambda_body
BOOLEAN
true if this is the operator() member function generated for the body of a lambda.
:is-defaulted
C++ cs::ast_ordinal::UC_IS_DEFAULTED
Python cs.ast_ordinal.UC_IS_DEFAULTED
C csao_uc_is_defaulted
BOOLEAN
true for C++ special member functions that were declared with the = default syntax.
:is-deleted
C++ cs::ast_ordinal::UC_IS_DELETED
Python cs.ast_ordinal.UC_IS_DELETED
C csao_uc_is_deleted
BOOLEAN
true for C++ special member functions that were declared with the = delete syntax.
:is-declared-constexpr
C++ cs::ast_ordinal::UC_IS_DECLARED_CONSTEXPR
Python cs.ast_ordinal.UC_IS_DECLARED_CONSTEXPR
C csao_uc_is_declared_constexpr
BOOLEAN
true for functions that were declared with the C++11 "constexpr" specifier. constexpr
:is-constexpr
C++ cs::ast_ordinal::UC_IS_CONSTEXPR
Python cs.ast_ordinal.UC_IS_CONSTEXPR
C csao_uc_is_constexpr
BOOLEAN
true for constexpr functions. For non-template user-declared functions this usually equals csao_uc_is_declared_constexpr, but for template functions it may be cleared if an instantiation turns out not to meet the constexpr constraints. It can also be true for generated default constructors (for which csao_uc_is_declared_constexpr is false).
:compiler-generated
C++ cs::ast_ordinal::UC_COMPILER_GENERATED
Python cs.ast_ordinal.UC_COMPILER_GENERATED
C csao_uc_compiler_generated
BOOLEAN
true for functions that are created by the compiler and have not been declared in the source, e.g., default constructors in C++.
:called
C++ cs::ast_ordinal::UC_CALLED
Python cs.ast_ordinal.UC_CALLED
C csao_uc_called
BOOLEAN
true if this routine is directly called. For virtual functions in C++, this indicates that the routine was named in a call, although maybe an overriding routine might be called instead.
:is-explicit-constructor
C++ cs::ast_ordinal::UC_IS_EXPLICIT_CONSTRUCTOR
Python cs.ast_ordinal.UC_IS_EXPLICIT_CONSTRUCTOR
C csao_uc_is_explicit_constructor
BOOLEAN
true if this routine is a constructor and the explicit keyword appeared in its declaration. C++ only.
:is-explicit-conversion-function
C++ cs::ast_ordinal::UC_IS_EXPLICIT_CONVERSION_FUNCTION
Python cs.ast_ordinal.UC_IS_EXPLICIT_CONVERSION_FUNCTION
C csao_uc_is_explicit_conversion_function
BOOLEAN
true if this routine is a conversion function and the explicit keyword appeared in its declaration. C++ only.
:assignment-to-this-done
C++ cs::ast_ordinal::UC_ASSIGNMENT_TO_THIS_DONE
Python cs.ast_ordinal.UC_ASSIGNMENT_TO_THIS_DONE
C csao_uc_assignment_to_this_done
BOOLEAN
true if an assignment to this (an anachronism) was done in this function. C++ member functions only.
:is-template-function
C++ cs::ast_ordinal::UC_IS_TEMPLATE_FUNCTION
Python cs.ast_ordinal.UC_IS_TEMPLATE_FUNCTION
C csao_uc_is_template_function
BOOLEAN
true for the following: instances and specializations of function templates; instances and specializations of member function templates; instances and specializations of member functions of generated template class instances. false for all other functions, including a function that is a member (but not a member template) of a class that is a specialization of a template class.
:is-specialized
C++ cs::ast_ordinal::UC_IS_SPECIALIZED
Python cs.ast_ordinal.UC_IS_SPECIALIZED
C csao_uc_is_specialized
BOOLEAN
true when csao_uc_is_template_function is true but the function definition is supplied independently of the template with which it is associated. This flag may be set as a result of a specialization declaration (either an old-style declaration or one using the template<> syntax), or if the function was specified in a do-not-instantiate pragma.
:specialized-with-old-syntax
C++ cs::ast_ordinal::UC_SPECIALIZED_WITH_OLD_SYNTAX
Python cs.ast_ordinal.UC_SPECIALIZED_WITH_OLD_SYNTAX
C csao_uc_specialized_with_old_syntax
BOOLEAN
true if csao_uc_is_specialized is true but the function was not explicitly declared with the template<> syntax.
:is-prototype-instantiation
C++ cs::ast_ordinal::UC_IS_PROTOTYPE_INSTANTIATION
Python cs.ast_ordinal.UC_IS_PROTOTYPE_INSTANTIATION
C csao_uc_is_prototype_instantiation
BOOLEAN
true if this routine represents the prototype instantiation of a function template or a member function of a class template.
:assoc-template
C++ cs::ast_ordinal::UC_ASSOC_TEMPLATE
Python cs.ast_ordinal.UC_ASSOC_TEMPLATE
C csao_uc_assoc_template
cc:template
For instantiated entities, this points to the the template from which they were generated.
:declared-only-as-friend
C++ cs::ast_ordinal::UC_DECLARED_ONLY_AS_FRIEND
Python cs.ast_ordinal.UC_DECLARED_ONLY_AS_FRIEND
C csao_uc_declared_only_as_friend
BOOLEAN
true if this routine has only been declared as a friend. In that case, Microsoft compilers will not treat this as a specialization of any template.
:can-be-instantiated
C++ cs::ast_ordinal::UC_CAN_BE_INSTANTIATED
Python cs.ast_ordinal.UC_CAN_BE_INSTANTIATED
C csao_uc_can_be_instantiated
BOOLEAN
true if this is a template function that could be instantiated by this compilation. false if csao_uc_is_template_function is false.
:do-not-instantiate
C++ cs::ast_ordinal::UC_DO_NOT_INSTANTIATE
Python cs.ast_ordinal.UC_DO_NOT_INSTANTIATE
C csao_uc_do_not_instantiate
BOOLEAN
true if a do_not_instantiate pragma was present for this template function. false if csao_uc_is_template_function is false.
:instance-required
C++ cs::ast_ordinal::UC_INSTANCE_REQUIRED
Python cs.ast_ordinal.UC_INSTANCE_REQUIRED
C csao_uc_instance_required
BOOLEAN
true for a template function or member function of a template class for which a definition (either template generated or a specific definition) must be supplied in this compilation unit or in another compilation unit with which this unit will be linked. Implies that the function is referenced in this compilation. false if csao_uc_is_template_function is false.
:contains-try-block
C++ cs::ast_ordinal::UC_CONTAINS_TRY_BLOCK
Python cs.ast_ordinal.UC_CONTAINS_TRY_BLOCK
C csao_uc_contains_try_block
BOOLEAN
true if the routine has a definition that contains at least one try block.
:superseded-external
C++ cs::ast_ordinal::UC_SUPERSEDED_EXTERNAL
Python cs.ast_ordinal.UC_SUPERSEDED_EXTERNAL
C csao_uc_superseded_external
BOOLEAN
true (in SVR4 C mode only) if the current routine was created to represent a block extern declaration whose type is incompatible with that of another file-scope routine with the same name, where the latter is treated as the official routine.
:defined-in-friend-decl
C++ cs::ast_ordinal::UC_DEFINED_IN_FRIEND_DECL
Python cs.ast_ordinal.UC_DEFINED_IN_FRIEND_DECL
C csao_uc_defined_in_friend_decl
BOOLEAN
true when the routine definition appears in a friend declaration.
:explicit-template-arg-list-used
C++ cs::ast_ordinal::UC_EXPLICIT_TEMPLATE_ARG_LIST_USED
Python cs.ast_ordinal.UC_EXPLICIT_TEMPLATE_ARG_LIST_USED
C csao_uc_explicit_template_arg_list_used
BOOLEAN
true if an explicit template argument list was ever used in naming this (template) function.
:befriending-classes
C++ cs::ast_ordinal::UC_BEFRIENDING_CLASSES
Python cs.ast_ordinal.UC_BEFRIENDING_CLASSES
C csao_uc_befriending_classes
cc:ast-list
A list of classes (cc:class) that have declared the current routine a friend (i.e., classes that have befriended the current routine).
:gnu-is-initialization-routine
C++ cs::ast_ordinal::UC_GNU_IS_INITIALIZATION_ROUTINE
Python cs.ast_ordinal.UC_GNU_IS_INITIALIZATION_ROUTINE
C csao_uc_gnu_is_initialization_routine
BOOLEAN
true if this routine was declared with the constructor attribute.
:gnu-is-finalization-routine
C++ cs::ast_ordinal::UC_GNU_IS_FINALIZATION_ROUTINE
Python cs.ast_ordinal.UC_GNU_IS_FINALIZATION_ROUTINE
C csao_uc_gnu_is_finalization_routine
BOOLEAN
true if this routine was declared with the destructor attribute.
:gnu-is-pure
C++ cs::ast_ordinal::UC_GNU_IS_PURE
Python cs.ast_ordinal.UC_GNU_IS_PURE
C csao_uc_gnu_is_pure
BOOLEAN
true if this routine was declared with the pure attribute.
:gnu-is-weak
C++ cs::ast_ordinal::UC_GNU_IS_WEAK
Python cs.ast_ordinal.UC_GNU_IS_WEAK
C csao_uc_gnu_is_weak
BOOLEAN
true if this routine was declared with the weak attribute.
:gnu-is-weakref
C++ cs::ast_ordinal::UC_GNU_IS_WEAKREF
Python cs.ast_ordinal.UC_GNU_IS_WEAKREF
C csao_uc_gnu_is_weakref
BOOLEAN
true if this routine was declared with the weakref attribute.
:maybe-unused
C++ cs::ast_ordinal::UC_MAYBE_UNUSED
Python cs.ast_ordinal.UC_MAYBE_UNUSED
C csao_uc_maybe_unused
BOOLEAN
true if this routine was declared with the GCC unused or the standard maybe_unused attribute.
:gnu-used
C++ cs::ast_ordinal::UC_GNU_USED
Python cs.ast_ordinal.UC_GNU_USED
C csao_uc_gnu_used
BOOLEAN
true if this routine was declared with the used attribute.
:gnu-allocates-memory
C++ cs::ast_ordinal::UC_GNU_ALLOCATES_MEMORY
Python cs.ast_ordinal.UC_GNU_ALLOCATES_MEMORY
C csao_uc_gnu_allocates_memory
BOOLEAN
true if this routine was declared with the malloc attribute. Such a routine should return a pointer to newly allocated storage.
:gnu-is-naked
C++ cs::ast_ordinal::UC_GNU_IS_NAKED
Python cs.ast_ordinal.UC_GNU_IS_NAKED
C csao_uc_gnu_is_naked
BOOLEAN
true if this routine was declared with the naked attribute (indicating that a code generator should not generate a prologue or epilogue for this routine).
:gnu-no-instrument-function
C++ cs::ast_ordinal::UC_GNU_NO_INSTRUMENT_FUNCTION
Python cs.ast_ordinal.UC_GNU_NO_INSTRUMENT_FUNCTION
C csao_uc_gnu_no_instrument_function
BOOLEAN
true if a code generator should not instrument the routine for execution profiling.
:gnu-no-check-memory-usage
C++ cs::ast_ordinal::UC_GNU_NO_CHECK_MEMORY_USAGE
Python cs.ast_ordinal.UC_GNU_NO_CHECK_MEMORY_USAGE
C csao_uc_gnu_no_check_memory_usage
BOOLEAN
true if a code generator should not instrument the routine for checking memory access.
:gnu-always-inline
C++ cs::ast_ordinal::UC_GNU_ALWAYS_INLINE
Python cs.ast_ordinal.UC_GNU_ALWAYS_INLINE
C csao_uc_gnu_always_inline
BOOLEAN
true if this routine was declared with the always_inline attribute.
:gnu-inline
C++ cs::ast_ordinal::UC_GNU_INLINE
Python cs.ast_ordinal.UC_GNU_INLINE
C csao_uc_gnu_inline
BOOLEAN
true if this routine was declared with the gnu_inline attribute.
:gnu-section
C++ cs::ast_ordinal::UC_GNU_SECTION
Python cs.ast_ordinal.UC_GNU_SECTION
C csao_uc_gnu_section
STRING
The section in which this routine should be placed.
:gnu-aliased-routine
C++ cs::ast_ordinal::UC_GNU_ALIASED_ROUTINE
Python cs.ast_ordinal.UC_GNU_ALIASED_ROUTINE
C csao_uc_gnu_aliased_routine
cc:routine
The routine for which this routine is an alias.
:gnu-asm-name
C++ cs::ast_ordinal::UC_GNU_ASM_NAME
Python cs.ast_ordinal.UC_GNU_ASM_NAME
C csao_uc_gnu_asm_name
STRING
The name to be used as an assembly language level symbol for this routine.
:gnu-visibility
C++ cs::ast_ordinal::UC_GNU_VISIBILITY
Python cs.ast_ordinal.UC_GNU_VISIBILITY
C csao_uc_gnu_visibility
elf_visibility
The visibility of the routine in the generated ELF object code, as specified by the GNU attribute visibility.
:decls
C++ cs::ast_ordinal::UC_DECLS
Python cs.ast_ordinal.UC_DECLS
C csao_uc_decls
cc:ast-list
The declarations associated with a specific routine definition.
Notes A routine.
CLASS cc:routine-decl
API Representation
C++cs::ast_class::UC_ROUTINE_DECL
Pythoncs.ast_class.UC_ROUTINE_DECL
Ccsac_uc_routine_decl
Canonical namecc:routine-decl
Superclass cc:abstract-decl
CLASS cc:label
API Representation
C++cs::ast_class::UC_LABEL
Pythoncs.ast_class.UC_LABEL
Ccsac_uc_label
Canonical namecc:label
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:reachable-by-fall-through
C++ cs::ast_ordinal::UC_REACHABLE_BY_FALL_THROUGH
Python cs.ast_ordinal.UC_REACHABLE_BY_FALL_THROUGH
C csao_uc_reachable_by_fall_through
BOOLEAN
true if this label can be reached by falling through to it from the code immediately preceding.
:break-label
C++ cs::ast_ordinal::UC_BREAK_LABEL
Python cs.ast_ordinal.UC_BREAK_LABEL
C csao_uc_break_label
BOOLEAN
true if this is a compiler-generated label that is the target of a break statement.
:continue-label
C++ cs::ast_ordinal::UC_CONTINUE_LABEL
Python cs.ast_ordinal.UC_CONTINUE_LABEL
C csao_uc_continue_label
BOOLEAN
true if this is a compiler-generated label that is the target of a continue statement.
:leave-label
C++ cs::ast_ordinal::UC_LEAVE_LABEL
Python cs.ast_ordinal.UC_LEAVE_LABEL
C csao_uc_leave_label
BOOLEAN
true if this is a compiler-generated label that is the target of a __leave statement.
:exec-statement
C++ cs::ast_ordinal::UC_EXEC_STATEMENT
Python cs.ast_ordinal.UC_EXEC_STATEMENT
C csao_uc_exec_statement
cc:statement
The stmt-label statement that defines this label.
:gnu-locally-declared
C++ cs::ast_ordinal::UC_GNU_LOCALLY_DECLARED
Python cs.ast_ordinal.UC_GNU_LOCALLY_DECLARED
C csao_uc_gnu_locally_declared
BOOLEAN
true if this label was declared in a GNU C __label__ declaration.
:maybe-unused
C++ cs::ast_ordinal::UC_MAYBE_UNUSED
Python cs.ast_ordinal.UC_MAYBE_UNUSED
C csao_uc_maybe_unused
BOOLEAN
true if this label was declared with the GCC unused or the standard maybe_unused attribute.
Notes A label on an executable statement.
CLASS cc:error-expr
API Representation
C++cs::ast_class::UC_ERROR_EXPR
Pythoncs.ast_class.UC_ERROR_EXPR
Ccsac_uc_error_expr
Canonical namecc:error-expr
Superclass cc:expr
Notes Used when operand errors mean that an expression tree cannot be constructed.
CLASS cc:indirect
API Representation
C++cs::ast_class::UC_INDIRECT
Pythoncs.ast_class.UC_INDIRECT
Ccsac_uc_indirect
Canonical namecc:indirect
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Pointer dereference.
CLASS cc:unary-plus
API Representation
C++cs::ast_class::UC_UNARY_PLUS
Pythoncs.ast_class.UC_UNARY_PLUS
Ccsac_uc_unary_plus
Canonical namecc:unary-plus
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Unary + operator.
CLASS cc:not
API Representation
C++cs::ast_class::UC_NOT
Pythoncs.ast_class.UC_NOT
Ccsac_uc_not
Canonical namecc:not
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Logical complement.
CLASS cc:generic-cast
API Representation
C++cs::ast_class::UC_GENERIC_CAST
Pythoncs.ast_class.UC_GENERIC_CAST
Ccsac_uc_generic_cast
Canonical namecc:generic-cast
Superclass cc:cast
Notes Cast operation.
CLASS cc:base-class-cast
API Representation
C++cs::ast_class::UC_BASE_CLASS_CAST
Pythoncs.ast_class.UC_BASE_CLASS_CAST
Ccsac_uc_base_class_cast
Canonical namecc:base-class-cast
Superclass cc:cast
Notes C++ cast or reference cast of class to a direct base class.
CLASS cc:derived-class-cast
API Representation
C++cs::ast_class::UC_DERIVED_CLASS_CAST
Pythoncs.ast_class.UC_DERIVED_CLASS_CAST
Ccsac_uc_derived_class_cast
Canonical namecc:derived-class-cast
Superclass cc:cast
Notes C++ cast or reference cast of class to a direct derived class.
CLASS cc:pm-base-class-cast
API Representation
C++cs::ast_class::UC_PM_BASE_CLASS_CAST
Pythoncs.ast_class.UC_PM_BASE_CLASS_CAST
Ccsac_uc_pm_base_class_cast
Canonical namecc:pm-base-class-cast
Superclass cc:cast
Notes C++ cast of a pointer to a class member to a pointer to a direct base class member.
CLASS cc:pm-derived-class-cast
API Representation
C++cs::ast_class::UC_PM_DERIVED_CLASS_CAST
Pythoncs.ast_class.UC_PM_DERIVED_CLASS_CAST
Ccsac_uc_pm_derived_class_cast
Canonical namecc:pm-derived-class-cast
Superclass cc:cast
Notes C++ cast of a pointer to a class member to a pointer to a direct derived class member.
CLASS cc:lvalue-cast
API Representation
C++cs::ast_class::UC_LVALUE_CAST
Pythoncs.ast_class.UC_LVALUE_CAST
Ccsac_uc_lvalue_cast
Canonical namecc:lvalue-cast
Superclass cc:cast
Notes An lvalue is cast to a new type; the result is also an lvalue (nonstandard feature).
CLASS cc:lvalue-adjust
API Representation
C++cs::ast_class::UC_LVALUE_ADJUST
Pythoncs.ast_class.UC_LVALUE_ADJUST
Ccsac_uc_lvalue_adjust
Canonical namecc:lvalue-adjust
Superclass cc:cast
Notes Used to implicitly adjust type on an lvalue, including (but not restricted to) adjusting cv-qualifiers.
CLASS cc:class-rvalue-adjust
API Representation
C++cs::ast_class::UC_CLASS_RVALUE_ADJUST
Pythoncs.ast_class.UC_CLASS_RVALUE_ADJUST
Ccsac_uc_class_rvalue_adjust
Canonical namecc:class-rvalue-adjust
Superclass cc:cast
Notes Used to adjust cv-qualifiers on a class rvalue.
CLASS cc:dynamic-cast
API Representation
C++cs::ast_class::UC_DYNAMIC_CAST
Pythoncs.ast_class.UC_DYNAMIC_CAST
Ccsac_uc_dynamic_cast
Canonical namecc:dynamic-cast
Superclass cc:cast
Notes C++ dynamic_cast on a pointer, handle, or reference.
CLASS cc:bool-cast
API Representation
C++cs::ast_class::UC_BOOL_CAST
Pythoncs.ast_class.UC_BOOL_CAST
Ccsac_uc_bool_cast
Canonical namecc:bool-cast
Superclass cc:cast
Notes Cast to bool (C++, C99).
CLASS cc:array-to-pointer-decay
API Representation
C++cs::ast_class::UC_ARRAY_TO_POINTER_DECAY
Pythoncs.ast_class.UC_ARRAY_TO_POINTER_DECAY
Ccsac_uc_array_to_pointer_decay
Canonical namecc:array-to-pointer-decay
Superclass cc:cast
Notes Conversion of an array to a pointer to the first element of the array.
CLASS cc:complement
API Representation
C++cs::ast_class::UC_COMPLEMENT
Pythoncs.ast_class.UC_COMPLEMENT
Ccsac_uc_complement
Canonical namecc:complement
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Bitwise complement operator "~".
CLASS cc:assume
API Representation
C++cs::ast_class::UC_ASSUME
Pythoncs.ast_class.UC_ASSUME
Ccsac_uc_assume
Canonical namecc:assume
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Microsoft __assume operator.
CLASS cc:noexcept
API Representation
C++cs::ast_class::UC_NOEXCEPT
Pythoncs.ast_class.UC_NOEXCEPT
Ccsac_uc_noexcept
Canonical namecc:noexcept
Superclass cc:operation
Notes A noexcept expression.
CLASS cc:padd
API Representation
C++cs::ast_class::UC_PADD
Pythoncs.ast_class.UC_PADD
Ccsac_uc_padd
Canonical namecc:padd
Superclass cc:add
Notes Pointer plus integer gives a pointer result.

Operands may be in either order.

CLASS cc:psubtract
API Representation
C++cs::ast_class::UC_PSUBTRACT
Pythoncs.ast_class.UC_PSUBTRACT
Ccsac_uc_psubtract
Canonical namecc:psubtract
Superclass cc:subtract
Notes Pointer minus integer gives a pointer result.

First operand is always the pointer.

CLASS cc:jmultiply
API Representation
C++cs::ast_class::UC_JMULTIPLY
Pythoncs.ast_class.UC_JMULTIPLY
Ccsac_uc_jmultiply
Canonical namecc:jmultiply
Superclass cc:multiply
Notes Imaginary times imaginary gives a real result.
CLASS cc:jdivide
API Representation
C++cs::ast_class::UC_JDIVIDE
Pythoncs.ast_class.UC_JDIVIDE
Ccsac_uc_jdivide
Canonical namecc:jdivide
Superclass cc:divide
Notes Division of real by imaginary gives an imaginary result with a sign change.
CLASS cc:fjadd
API Representation
C++cs::ast_class::UC_FJADD
Pythoncs.ast_class.UC_FJADD
Ccsac_uc_fjadd
Canonical namecc:fjadd
Superclass cc:add
Notes Real plus imaginary gives a complex result.
CLASS cc:jfadd
API Representation
C++cs::ast_class::UC_JFADD
Pythoncs.ast_class.UC_JFADD
Ccsac_uc_jfadd
Canonical namecc:jfadd
Superclass cc:add
Notes Imaginary plus real gives a complex result.
CLASS cc:fjsubtract
API Representation
C++cs::ast_class::UC_FJSUBTRACT
Pythoncs.ast_class.UC_FJSUBTRACT
Ccsac_uc_fjsubtract
Canonical namecc:fjsubtract
Superclass cc:subtract
Notes Real minus imaginary gives a complex result.
CLASS cc:jfsubtract
API Representation
C++cs::ast_class::UC_JFSUBTRACT
Pythoncs.ast_class.UC_JFSUBTRACT
Ccsac_uc_jfsubtract
Canonical namecc:jfsubtract
Superclass cc:subtract
Notes Imaginary minus real gives a complex result.
CLASS cc:xconj
API Representation
C++cs::ast_class::UC_XCONJ
Pythoncs.ast_class.UC_XCONJ
Ccsac_uc_xconj
Canonical namecc:xconj
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Complex conjugation operator "~". This is a GNU extension.
CLASS cc:real-part
API Representation
C++cs::ast_class::UC_REAL_PART
Pythoncs.ast_class.UC_REAL_PART
Ccsac_uc_real_part
Canonical namecc:real-part
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Produce the real part of a complex rvalue (__real). This is a GNU extension.
CLASS cc:imag-part
API Representation
C++cs::ast_class::UC_IMAG_PART
Pythoncs.ast_class.UC_IMAG_PART
Ccsac_uc_imag_part
Canonical namecc:imag-part
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Produce the imaginary part of a complex rvalue (__imag). This is a GNU extension.
CLASS cc:remainder
API Representation
C++cs::ast_class::UC_REMAINDER
Pythoncs.ast_class.UC_REMAINDER
Ccsac_uc_remainder
Canonical namecc:remainder
Superclass cc:operation
Notes The modulus operator "%".
CLASS cc:pdiff
API Representation
C++cs::ast_class::UC_PDIFF
Pythoncs.ast_class.UC_PDIFF
Ccsac_uc_pdiff
Canonical namecc:pdiff
Superclass cc:subtract
Notes Pointer minus pointer gives an integer result.
CLASS cc:bassign
API Representation
C++cs::ast_class::UC_BASSIGN
Pythoncs.ast_class.UC_BASSIGN
Ccsac_uc_bassign
Canonical namecc:bassign
Superclass cc:assign
Notes Block assignment.
CLASS cc:remainder-assign
API Representation
C++cs::ast_class::UC_REMAINDER_ASSIGN
Pythoncs.ast_class.UC_REMAINDER_ASSIGN
Ccsac_uc_remainder_assign
Canonical namecc:remainder-assign
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Remainder assign operator "%=".
CLASS cc:padd-assign
API Representation
C++cs::ast_class::UC_PADD_ASSIGN
Pythoncs.ast_class.UC_PADD_ASSIGN
Ccsac_uc_padd_assign
Canonical namecc:padd-assign
Superclass cc:add-assign
Notes Pointer add-assign operator "+=".
CLASS cc:psubtract-assign
API Representation
C++cs::ast_class::UC_PSUBTRACT_ASSIGN
Pythoncs.ast_class.UC_PSUBTRACT_ASSIGN
Ccsac_uc_psubtract_assign
Canonical namecc:psubtract-assign
Superclass cc:subtract-assign
Notes Pointer subtract-assign operator "-=".
CLASS cc:generic-shiftl-assign
API Representation
C++cs::ast_class::UC_GENERIC_SHIFTL_ASSIGN
Pythoncs.ast_class.UC_GENERIC_SHIFTL_ASSIGN
Ccsac_uc_generic_shiftl_assign
Canonical namecc:generic-shiftl-assign
Superclass cc:shiftl-assign
Notes Left-shift-assign operator "<<=".
CLASS cc:generic-shiftr-assign
API Representation
C++cs::ast_class::UC_GENERIC_SHIFTR_ASSIGN
Pythoncs.ast_class.UC_GENERIC_SHIFTR_ASSIGN
Ccsac_uc_generic_shiftr_assign
Canonical namecc:generic-shiftr-assign
Superclass cc:shiftr-assign
Notes Left-shift-assign operator ">>=".
CLASS cc:and-assign
API Representation
C++cs::ast_class::UC_AND_ASSIGN
Pythoncs.ast_class.UC_AND_ASSIGN
Ccsac_uc_and_assign
Canonical namecc:and-assign
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Bitwise and-assign operator "&=".
CLASS cc:or-assign
API Representation
C++cs::ast_class::UC_OR_ASSIGN
Pythoncs.ast_class.UC_OR_ASSIGN
Ccsac_uc_or_assign
Canonical namecc:or-assign
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Bitwise or-assign operator "|=".
CLASS cc:xor-assign
API Representation
C++cs::ast_class::UC_XOR_ASSIGN
Pythoncs.ast_class.UC_XOR_ASSIGN
Ccsac_uc_xor_assign
Canonical namecc:xor-assign
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Exclusive-or-assign operator "^=".
CLASS cc:subscript
API Representation
C++cs::ast_class::UC_SUBSCRIPT
Pythoncs.ast_class.UC_SUBSCRIPT
Ccsac_uc_subscript
Canonical namecc:subscript
Superclass cc:arrayref
Children
The inherited csao_uc_operands child has length 2.
Notes Subscripting operation.
CLASS cc:cli-subscript
API Representation
C++cs::ast_class::UC_CLI_SUBSCRIPT
Pythoncs.ast_class.UC_CLI_SUBSCRIPT
Ccsac_uc_cli_subscript
Canonical namecc:cli-subscript
Superclass cc:arrayref
Children
The inherited csao_uc_operands child has variable length.
Notes C++/CLI subscripting operation.
CLASS cc:dot-field
API Representation
C++cs::ast_class::UC_DOT_FIELD
Pythoncs.ast_class.UC_DOT_FIELD
Ccsac_uc_dot_field
Canonical namecc:dot-field
Superclass cc:dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "." operator, applied to select a nonstatic data member.
CLASS cc:points-to-field
API Representation
C++cs::ast_class::UC_POINTS_TO_FIELD
Pythoncs.ast_class.UC_POINTS_TO_FIELD
Ccsac_uc_points_to_field
Canonical namecc:points-to-field
Superclass cc:dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "->" operator, applied to select a nonstatic data member.
CLASS cc:pm-points-to-field
API Representation
C++cs::ast_class::UC_PM_POINTS_TO_FIELD
Pythoncs.ast_class.UC_PM_POINTS_TO_FIELD
Ccsac_uc_pm_points_to_field
Canonical namecc:pm-points-to-field
Superclass cc:pm-dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "->*" operator, applied to select a nonstatic data member.
CLASS cc:points-to-pm-func-ptr
API Representation
C++cs::ast_class::UC_POINTS_TO_PM_FUNC_PTR
Pythoncs.ast_class.UC_POINTS_TO_PM_FUNC_PTR
Ccsac_uc_points_to_pm_func_ptr
Canonical namecc:points-to-pm-func-ptr
Superclass cc:pm-dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "->*" operator, applied to select a member function.
CLASS cc:dot-static
API Representation
C++cs::ast_class::UC_DOT_STATIC
Pythoncs.ast_class.UC_DOT_STATIC
Ccsac_uc_dot_static
Canonical namecc:dot-static
Superclass cc:dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "." operator, applied to select a static data member, static member function, or member constant.
CLASS cc:points-to-static
API Representation
C++cs::ast_class::UC_POINTS_TO_STATIC
Pythoncs.ast_class.UC_POINTS_TO_STATIC
Ccsac_uc_points_to_static
Canonical namecc:points-to-static
Superclass cc:dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes The "->" operator, applied to select a static data member, static member function, or member constant.
CLASS cc:generic-shiftl
API Representation
C++cs::ast_class::UC_GENERIC_SHIFTL
Pythoncs.ast_class.UC_GENERIC_SHIFTL
Ccsac_uc_generic_shiftl
Canonical namecc:generic-shiftl
Superclass cc:shiftl
Notes Left-shift operator "<<".
CLASS cc:generic-shiftr
API Representation
C++cs::ast_class::UC_GENERIC_SHIFTR
Pythoncs.ast_class.UC_GENERIC_SHIFTR
Ccsac_uc_generic_shiftr
Canonical namecc:generic-shiftr
Superclass cc:shiftr
Notes Right-shift operator ">>".
CLASS cc:and
API Representation
C++cs::ast_class::UC_AND
Pythoncs.ast_class.UC_AND
Ccsac_uc_and
Canonical namecc:and
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Bitwise and operator "&".
CLASS cc:or
API Representation
C++cs::ast_class::UC_OR
Pythoncs.ast_class.UC_OR
Ccsac_uc_or
Canonical namecc:or
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Bitwise or operator "|".
CLASS cc:xor
API Representation
C++cs::ast_class::UC_XOR
Pythoncs.ast_class.UC_XOR
Ccsac_uc_xor
Canonical namecc:xor
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Exclusive-or operator "^".
CLASS cc:comma
API Representation
C++cs::ast_class::UC_COMMA
Pythoncs.ast_class.UC_COMMA
Ccsac_uc_comma
Canonical namecc:comma
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Comma operator ",".
CLASS cc:virtual-function-ptr
API Representation
C++cs::ast_class::UC_VIRTUAL_FUNCTION_PTR
Pythoncs.ast_class.UC_VIRTUAL_FUNCTION_PTR
Ccsac_uc_virtual_function_ptr
Canonical namecc:virtual-function-ptr
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes A normal function pointer for a virtual member function.
CLASS cc:dot-vacuous-destructor-call
API Representation
C++cs::ast_class::UC_DOT_VACUOUS_DESTRUCTOR_CALL
Pythoncs.ast_class.UC_DOT_VACUOUS_DESTRUCTOR_CALL
Ccsac_uc_dot_vacuous_destructor_call
Canonical namecc:dot-vacuous-destructor-call
Superclass cc:call
Children
The inherited csao_uc_operands child has length 2.
Notes Destructor call "x.~X()" when the class/type does not have one.
CLASS cc:points-to-vacuous-destructor-call
API Representation
C++cs::ast_class::UC_POINTS_TO_VACUOUS_DESTRUCTOR_CALL
Pythoncs.ast_class.UC_POINTS_TO_VACUOUS_DESTRUCTOR_CALL
Ccsac_uc_points_to_vacuous_destructor_call
Canonical namecc:points-to-vacuous-destructor-call
Superclass cc:call
Children
The inherited csao_uc_operands child has length 2.
Notes Destructor call, through a pointer "p->~X()", when the class/type does not have one.
CLASS cc:land
API Representation
C++cs::ast_class::UC_LAND
Pythoncs.ast_class.UC_LAND
Ccsac_uc_land
Canonical namecc:land
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Logical intersection operator "&&".
CLASS cc:lor
API Representation
C++cs::ast_class::UC_LOR
Pythoncs.ast_class.UC_LOR
Ccsac_uc_lor
Canonical namecc:lor
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes Logical union operator "||".
CLASS cc:question
API Representation
C++cs::ast_class::UC_QUESTION
Pythoncs.ast_class.UC_QUESTION
Ccsac_uc_question
Canonical namecc:question
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 3.
Notes Conditional expression operator "?".
CLASS cc:function-call
API Representation
C++cs::ast_class::UC_FUNCTION_CALL
Pythoncs.ast_class.UC_FUNCTION_CALL
Ccsac_uc_function_call
Canonical namecc:function-call
Superclass cc:call
Children
The inherited csao_uc_operands child has variable length.
Attributes
:called-function-is-implicitly-declared
C++ cs::ast_ordinal::UC_CALLED_FUNCTION_IS_IMPLICITLY_DECLARED
Python cs.ast_ordinal.UC_CALLED_FUNCTION_IS_IMPLICITLY_DECLARED
C csao_uc_called_function_is_implicitly_declared
BOOLEAN
true if the function called has not yet been explicitly declared or defined before this call.
Notes In C, any function call. In C++, a call of a non-member function or static member function.

The first element in the csao_uc_operands list is the routine called; the remaining elements are the arguments of the call.

CLASS cc:va-start
API Representation
C++cs::ast_class::UC_VA_START
Pythoncs.ast_class.UC_VA_START
Ccsac_uc_va_start
Canonical namecc:va-start
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes va_start macro.
CLASS cc:va-arg
API Representation
C++cs::ast_class::UC_VA_ARG
Pythoncs.ast_class.UC_VA_ARG
Ccsac_uc_va_arg
Canonical namecc:va-arg
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes va_arg macro.
CLASS cc:va-end
API Representation
C++cs::ast_class::UC_VA_END
Pythoncs.ast_class.UC_VA_END
Ccsac_uc_va_end
Canonical namecc:va-end
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes va_end macro.
CLASS cc:va-copy
API Representation
C++cs::ast_class::UC_VA_COPY
Pythoncs.ast_class.UC_VA_COPY
Ccsac_uc_va_copy
Canonical namecc:va-copy
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 2.
Notes va_copy macro.
CLASS cc:va-start-single-operand
API Representation
C++cs::ast_class::UC_VA_START_SINGLE_OPERAND
Pythoncs.ast_class.UC_VA_START_SINGLE_OPERAND
Ccsac_uc_va_start_single_operand
Canonical namecc:va-start-single-operand
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes As for cc:va-start, without the second operand.
CLASS cc:co-await-with-dependent-operand
API Representation
C++cs::ast_class::UC_CO_AWAIT_WITH_DEPENDENT_OPERAND
Pythoncs.ast_class.UC_CO_AWAIT_WITH_DEPENDENT_OPERAND
Ccsac_uc_co_await_with_dependent_operand
Canonical namecc:co-await-with-dependent-operand
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes The coroutine co_await operator applied to a dependent operand.
CLASS cc:co-yield-with-dependent-operand
API Representation
C++cs::ast_class::UC_CO_YIELD_WITH_DEPENDENT_OPERAND
Pythoncs.ast_class.UC_CO_YIELD_WITH_DEPENDENT_OPERAND
Ccsac_uc_co_yield_with_dependent_operand
Canonical namecc:co-yield-with-dependent-operand
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes The coroutine co_yield operator applied to a dependent operand.
CLASS cc:generic-negate
API Representation
C++cs::ast_class::UC_GENERIC_NEGATE
Pythoncs.ast_class.UC_GENERIC_NEGATE
Ccsac_uc_generic_negate
Canonical namecc:generic-negate
Superclass cc:negate
Notes Arithmetic negation.
CLASS cc:generic-post-incr
API Representation
C++cs::ast_class::UC_GENERIC_POST_INCR
Pythoncs.ast_class.UC_GENERIC_POST_INCR
Ccsac_uc_generic_post_incr
Canonical namecc:generic-post-incr
Superclass cc:post-incr
Notes Generic post-increment.
CLASS cc:generic-post-decr
API Representation
C++cs::ast_class::UC_GENERIC_POST_DECR
Pythoncs.ast_class.UC_GENERIC_POST_DECR
Ccsac_uc_generic_post_decr
Canonical namecc:generic-post-decr
Superclass cc:post-decr
Notes Generic post-decrement.
CLASS cc:generic-pre-incr
API Representation
C++cs::ast_class::UC_GENERIC_PRE_INCR
Pythoncs.ast_class.UC_GENERIC_PRE_INCR
Ccsac_uc_generic_pre_incr
Canonical namecc:generic-pre-incr
Superclass cc:pre-incr
Notes Generic pre-increment.
CLASS cc:generic-pre-decr
API Representation
C++cs::ast_class::UC_GENERIC_PRE_DECR
Pythoncs.ast_class.UC_GENERIC_PRE_DECR
Ccsac_uc_generic_pre_decr
Canonical namecc:generic-pre-decr
Superclass cc:pre-decr
Notes Generic pre-decrement.
CLASS cc:generic-add
API Representation
C++cs::ast_class::UC_GENERIC_ADD
Pythoncs.ast_class.UC_GENERIC_ADD
Ccsac_uc_generic_add
Canonical namecc:generic-add
Superclass cc:add
Notes Generic addition.
CLASS cc:generic-subtract
API Representation
C++cs::ast_class::UC_GENERIC_SUBTRACT
Pythoncs.ast_class.UC_GENERIC_SUBTRACT
Ccsac_uc_generic_subtract
Canonical namecc:generic-subtract
Superclass cc:subtract
Notes Generic subtraction.
CLASS cc:generic-multiply
API Representation
C++cs::ast_class::UC_GENERIC_MULTIPLY
Pythoncs.ast_class.UC_GENERIC_MULTIPLY
Ccsac_uc_generic_multiply
Canonical namecc:generic-multiply
Superclass cc:multiply
Notes Generic multiplication.
CLASS cc:generic-divide
API Representation
C++cs::ast_class::UC_GENERIC_DIVIDE
Pythoncs.ast_class.UC_GENERIC_DIVIDE
Ccsac_uc_generic_divide
Canonical namecc:generic-divide
Superclass cc:divide
Notes Generic division.
CLASS cc:generic-eq
API Representation
C++cs::ast_class::UC_GENERIC_EQ
Pythoncs.ast_class.UC_GENERIC_EQ
Ccsac_uc_generic_eq
Canonical namecc:generic-eq
Superclass cc:eq
Notes Generic equality "==".
CLASS cc:generic-ne
API Representation
C++cs::ast_class::UC_GENERIC_NE
Pythoncs.ast_class.UC_GENERIC_NE
Ccsac_uc_generic_ne
Canonical namecc:generic-ne
Superclass cc:ne
Notes Generic inequality "!=".
CLASS cc:generic-gt
API Representation
C++cs::ast_class::UC_GENERIC_GT
Pythoncs.ast_class.UC_GENERIC_GT
Ccsac_uc_generic_gt
Canonical namecc:generic-gt
Superclass cc:gt
Notes Generic greater-than ">".
CLASS cc:generic-lt
API Representation
C++cs::ast_class::UC_GENERIC_LT
Pythoncs.ast_class.UC_GENERIC_LT
Ccsac_uc_generic_lt
Canonical namecc:generic-lt
Superclass cc:lt
Notes Generic less-than "<".
CLASS cc:generic-ge
API Representation
C++cs::ast_class::UC_GENERIC_GE
Pythoncs.ast_class.UC_GENERIC_GE
Ccsac_uc_generic_ge
Canonical namecc:generic-ge
Superclass cc:ge
Notes Generic greater than or equal ">="
CLASS cc:generic-le
API Representation
C++cs::ast_class::UC_GENERIC_LE
Pythoncs.ast_class.UC_GENERIC_LE
Ccsac_uc_generic_le
Canonical namecc:generic-le
Superclass cc:le
Notes Generic less than or equal "<=".
CLASS cc:generic-spaceship
API Representation
C++cs::ast_class::UC_GENERIC_SPACESHIP
Pythoncs.ast_class.UC_GENERIC_SPACESHIP
Ccsac_uc_generic_spaceship
Canonical namecc:generic-spaceship
Superclass cc:spaceship
Notes Generic spaceship "<=>" (three way comparison).
CLASS cc:generic-gnu-min
API Representation
C++cs::ast_class::UC_GENERIC_GNU_MIN
Pythoncs.ast_class.UC_GENERIC_GNU_MIN
Ccsac_uc_generic_gnu_min
Canonical namecc:generic-gnu-min
Superclass cc:gnu-min
Children
The inherited csao_uc_operands child has length 2.
Notes Generic minimum operator "<?". This is a GNU C++ extension.
CLASS cc:generic-gnu-max
API Representation
C++cs::ast_class::UC_GENERIC_GNU_MAX
Pythoncs.ast_class.UC_GENERIC_GNU_MAX
Ccsac_uc_generic_gnu_max
Canonical namecc:generic-gnu-max
Superclass cc:gnu-max
Children
The inherited csao_uc_operands child has length 2.
Notes Generic maximum operator ">?". This is a GNU C++ extension.
CLASS cc:generic-assign
API Representation
C++cs::ast_class::UC_GENERIC_ASSIGN
Pythoncs.ast_class.UC_GENERIC_ASSIGN
Ccsac_uc_generic_assign
Canonical namecc:generic-assign
Superclass cc:assign
Notes Generic assignment "=".
CLASS cc:generic-add-assign
API Representation
C++cs::ast_class::UC_GENERIC_ADD_ASSIGN
Pythoncs.ast_class.UC_GENERIC_ADD_ASSIGN
Ccsac_uc_generic_add_assign
Canonical namecc:generic-add-assign
Superclass cc:add-assign
Notes Generic add assign operator "+=".
CLASS cc:generic-subtract-assign
API Representation
C++cs::ast_class::UC_GENERIC_SUBTRACT_ASSIGN
Pythoncs.ast_class.UC_GENERIC_SUBTRACT_ASSIGN
Ccsac_uc_generic_subtract_assign
Canonical namecc:generic-subtract-assign
Superclass cc:subtract-assign
Notes Generic subtract-assign operator "-=".
CLASS cc:generic-multiply-assign
API Representation
C++cs::ast_class::UC_GENERIC_MULTIPLY_ASSIGN
Pythoncs.ast_class.UC_GENERIC_MULTIPLY_ASSIGN
Ccsac_uc_generic_multiply_assign
Canonical namecc:generic-multiply-assign
Superclass cc:multiply-assign
Notes Generic multiply-assign operator "*=".
CLASS cc:generic-divide-assign
API Representation
C++cs::ast_class::UC_GENERIC_DIVIDE_ASSIGN
Pythoncs.ast_class.UC_GENERIC_DIVIDE_ASSIGN
Ccsac_uc_generic_divide_assign
Canonical namecc:generic-divide-assign
Superclass cc:divide-assign
Notes Generic divide-assign operator "/=".
CLASS cc:address-op
API Representation
C++cs::ast_class::UC_ADDRESS_OP
Pythoncs.ast_class.UC_ADDRESS_OP
Ccsac_uc_address_op
Canonical namecc:address-op
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Generic unary &.
CLASS cc:pm-dot-field
API Representation
C++cs::ast_class::UC_PM_DOT_FIELD
Pythoncs.ast_class.UC_PM_DOT_FIELD
Ccsac_uc_pm_dot_field
Canonical namecc:pm-dot-field
Superclass cc:pm-dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes Selection of a nonstatic data member of a class using a pointer-to-member: x.*pm.
CLASS cc:dot-pm-func-ptr
API Representation
C++cs::ast_class::UC_DOT_PM_FUNC_PTR
Pythoncs.ast_class.UC_DOT_PM_FUNC_PTR
Ccsac_uc_dot_pm_func_ptr
Canonical namecc:dot-pm-func-ptr
Superclass cc:pm-dot-expr
Children
The inherited csao_uc_operands child has length 2.
Notes Selection of a member function of a class using a pointer-to-member: x.*pm.
CLASS cc:lvalue
API Representation
C++cs::ast_class::UC_LVALUE
Pythoncs.ast_class.UC_LVALUE
Ccsac_uc_lvalue
Canonical namecc:lvalue
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Appears only in prototype instantiations.
CLASS cc:dot-member-call
API Representation
C++cs::ast_class::UC_DOT_MEMBER_CALL
Pythoncs.ast_class.UC_DOT_MEMBER_CALL
Ccsac_uc_dot_member_call
Canonical namecc:dot-member-call
Superclass cc:call
Children
The inherited csao_uc_operands child has variable length.
Notes A call of a non-static member function using x.f(args).
CLASS cc:points-to-member-call
API Representation
C++cs::ast_class::UC_POINTS_TO_MEMBER_CALL
Pythoncs.ast_class.UC_POINTS_TO_MEMBER_CALL
Ccsac_uc_points_to_member_call
Canonical namecc:points-to-member-call
Superclass cc:call
Children
The inherited csao_uc_operands child has variable length.
Notes A call of a non-static member function using p->f(args).
CLASS cc:dot-pm-call
API Representation
C++cs::ast_class::UC_DOT_PM_CALL
Pythoncs.ast_class.UC_DOT_PM_CALL
Ccsac_uc_dot_pm_call
Canonical namecc:dot-pm-call
Superclass cc:call
Children
The inherited csao_uc_operands child has variable length.
Notes A call of a function identified by a pointer-to-member, using (x.*pmf)(args).
CLASS cc:points-to-pm-call
API Representation
C++cs::ast_class::UC_POINTS_TO_PM_CALL
Pythoncs.ast_class.UC_POINTS_TO_PM_CALL
Ccsac_uc_points_to_pm_call
Canonical namecc:points-to-pm-call
Superclass cc:call
Children
The inherited csao_uc_operands child has variable length.
Notes A call of a function identified by a pointer-to-member, using (p->*pmf)(args).
CLASS cc:handle-to
API Representation
C++cs::ast_class::UC_HANDLE_TO
Pythoncs.ast_class.UC_HANDLE_TO
Ccsac_uc_handle_to
Canonical namecc:handle-to
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes A C++/CLI unary "%" operation, which returns a handle to its operand.
CLASS cc:box
API Representation
C++cs::ast_class::UC_BOX
Pythoncs.ast_class.UC_BOX
Ccsac_uc_box
Canonical namecc:box
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes C++/CLI boxing operation.
CLASS cc:handle-to-box
API Representation
C++cs::ast_class::UC_HANDLE_TO_BOX
Pythoncs.ast_class.UC_HANDLE_TO_BOX
Ccsac_uc_handle_to_box
Canonical namecc:handle-to-box
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Exactly the same semantics as cc:csac_uc_box; indicates the case where the source form uses the unary "%" operator.
CLASS cc:unbox
API Representation
C++cs::ast_class::UC_UNBOX
Pythoncs.ast_class.UC_UNBOX
Ccsac_uc_unbox
Canonical namecc:unbox
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes C++/CLI unboxing operation.
CLASS cc:unbox-lvalue
API Representation
C++cs::ast_class::UC_UNBOX_LVALUE
Pythoncs.ast_class.UC_UNBOX_LVALUE
Ccsac_uc_unbox_lvalue
Canonical namecc:unbox-lvalue
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes C++/CLI unboxing operation. The operand is a gc-lvalue for a value class or boxed enum and the result is an lvalue for the unboxed value.
CLASS cc:vector-fill
API Representation
C++cs::ast_class::UC_VECTOR_FILL
Pythoncs.ast_class.UC_VECTOR_FILL
Ccsac_uc_vector_fill
Canonical namecc:vector-fill
Superclass cc:operation
Children
The inherited csao_uc_operands child has length 1.
Notes Takes one scalar operand and returns a GNU vector whose value has the scalar's value in every element of the vector.
CLASS cc:expr-constant
API Representation
C++cs::ast_class::UC_EXPR_CONSTANT
Pythoncs.ast_class.UC_EXPR_CONSTANT
Ccsac_uc_expr_constant
Canonical namecc:expr-constant
Superclass cc:expr
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The constant.
Notes A constant value.
CLASS cc:expr-variable
API Representation
C++cs::ast_class::UC_EXPR_VARIABLE
Pythoncs.ast_class.UC_EXPR_VARIABLE
Ccsac_uc_expr_variable
Canonical namecc:expr-variable
Superclass cc:expr
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
The variable.
Notes Indicates a variable.
CLASS cc:expr-field
API Representation
C++cs::ast_class::UC_EXPR_FIELD
Pythoncs.ast_class.UC_EXPR_FIELD
Ccsac_uc_expr_field
Canonical namecc:expr-field
Superclass cc:expr
Attributes
:field
C++ cs::ast_ordinal::UC_FIELD
Python cs.ast_ordinal.UC_FIELD
C csao_uc_field
cc:field
The field.
Notes Indicates a field.
CLASS cc:temp-init
API Representation
C++cs::ast_class::UC_TEMP_INIT
Pythoncs.ast_class.UC_TEMP_INIT
Ccsac_uc_temp_init
Canonical namecc:temp-init
Superclass cc:expr
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
Dynamic initialization entry that does the initialization for the temporary.
Attributes
:result-is-addr
C++ cs::ast_ordinal::UC_RESULT_IS_ADDR
Python cs.ast_ordinal.UC_RESULT_IS_ADDR
C csao_uc_result_is_addr
BOOLEAN
If true, the value of the node is the address of the temporary. If false, the value is the value of the temporary.
:static-temp
C++ cs::ast_ordinal::UC_STATIC_TEMP
Python cs.ast_ordinal.UC_STATIC_TEMP
C csao_uc_static_temp
BOOLEAN
If true, the temporary must be static. This means the storage duration of the temporary is required to be static. A value of false, however, does not mean the storage duration is forced to be automatic. For example, temp inits in the file scope that don't need to be static will have this flag false even though static may be the only possible storage duration if the temporary is realized in the file scope.
Notes Initialization of a temporary within an expression.
CLASS cc:new
API Representation
C++cs::ast_class::UC_NEW
Pythoncs.ast_class.UC_NEW
Ccsac_uc_new
Canonical namecc:new
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The arguments.
Attributes
:new-type
C++ cs::ast_ordinal::UC_NEW_TYPE
Python cs.ast_ordinal.UC_NEW_TYPE
C csao_uc_new_type
cc:type
The type of the object being allocated.
:placement
C++ cs::ast_ordinal::UC_PLACEMENT
Python cs.ast_ordinal.UC_PLACEMENT
C csao_uc_placement
BOOLEAN
true for a placement new.
:global
C++ cs::ast_ordinal::UC_GLOBAL
Python cs.ast_ordinal.UC_GLOBAL
C csao_uc_global
BOOLEAN
true if the :: scope qualifier was used.
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The routine to do allocation.
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The initialization.
Notes C++ new expression.
CLASS cc:delete
API Representation
C++cs::ast_class::UC_DELETE
Pythoncs.ast_class.UC_DELETE
Ccsac_uc_delete
Canonical namecc:delete
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The object to be deleted.
Attributes
:array
C++ cs::ast_ordinal::UC_ARRAY
Python cs.ast_ordinal.UC_ARRAY
C csao_uc_array
BOOLEAN
true if this is an array delete.
:delete-type
C++ cs::ast_ordinal::UC_DELETE_TYPE
Python cs.ast_ordinal.UC_DELETE_TYPE
C csao_uc_delete_type
cc:type
The type pointed to by the object pointer for delete.
:global
C++ cs::ast_ordinal::UC_GLOBAL
Python cs.ast_ordinal.UC_GLOBAL
C csao_uc_global
BOOLEAN
true if the :: scope qualifier was used.
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The routine to do deletion.
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The destruction.
Notes C++ delete expression.
CLASS cc:lambda
API Representation
C++cs::ast_class::UC_LAMBDA
Pythoncs.ast_class.UC_LAMBDA
Ccsac_uc_lambda
Canonical namecc:lambda
Superclass cc:expr
Children
:captures
C++ cs::ast_ordinal::UC_CAPTURES
Python cs.ast_ordinal.UC_CAPTURES
C csao_uc_captures
cc:ast-list
List of captured local variables (cc:variable). This list initially contains any explicitly specified captured entities and may later have implicitly captured entities added. May be NULL.
:closure-class
C++ cs::ast_ordinal::UC_CLOSURE_CLASS
Python cs.ast_ordinal.UC_CLOSURE_CLASS
C csao_uc_closure_class
cc:class
The class type that is used to represent the result of the lambda.
:is-mutable
C++ cs::ast_ordinal::UC_IS_MUTABLE
Python cs.ast_ordinal.UC_IS_MUTABLE
C csao_uc_is_mutable
BOOLEAN
true if mutable was specified.
:has-capture-default
C++ cs::ast_ordinal::UC_HAS_CAPTURE_DEFAULT
Python cs.ast_ordinal.UC_HAS_CAPTURE_DEFAULT
C csao_uc_has_capture_default
BOOLEAN
true if if an explicit capture default was specified.
:default-is-be-reference
C++ cs::ast_ordinal::UC_DEFAULT_IS_BY_REFERENCE
Python cs.ast_ordinal.UC_DEFAULT_IS_BY_REFERENCE
C csao_uc_default_is_by_reference
BOOLEAN
true if the default is by reference ("&") or false if the default is by value ("=").
:explicit-return-type
C++ cs::ast_ordinal::UC_EXPLICIT_RETURN_TYPE
Python cs.ast_ordinal.UC_EXPLICIT_RETURN_TYPE
C csao_uc_explicit_return_type
BOOLEAN
true if the return type of the lambda was specified explicitly.
:has-parameter-decl
C++ cs::ast_ordinal::UC_HAS_PARAMETER_DECL
Python cs.ast_ordinal.UC_HAS_PARAMETER_DECL
C csao_uc_has_parameter_decl
BOOLEAN
true if a (possibly empty) parameter list for the lambda appeared explicitly in the input.
:initialization
C++ cs::ast_ordinal::UC_INITIALIZATION
Python cs.ast_ordinal.UC_INITIALIZATION
C csao_uc_initialization
cc:dynamic-init
Aggregate initialization that copies the captured variables to the fields of the closure class. Also includes the destruction of the closure object if necessary.
Attributes
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
the routine entry for the operator() member function of closure class.
Notes C++ lambda expression.
CLASS cc:gcnew
API Representation
C++cs::ast_class::UC_GCNEW
Pythoncs.ast_class.UC_GCNEW
Ccsac_uc_gcnew
Canonical namecc:gcnew
Superclass cc:expr
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
the initialization to be done.
Attributes
:new-type
C++ cs::ast_ordinal::UC_NEW_TYPE
Python cs.ast_ordinal.UC_NEW_TYPE
C csao_uc_new_type
cc:type
The type of the object being allocated.
Notes A C++/CLI "gcnew" expression.
CLASS cc:throw
API Representation
C++cs::ast_class::UC_THROW
Pythoncs.ast_class.UC_THROW
Ccsac_uc_throw
Canonical namecc:throw
Superclass cc:expr
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The dynamic initialization entry that specifies what is done to pass the throw object to the handler. unavailable when no object is specified.
Attributes
:thrown-type
C++ cs::ast_ordinal::UC_THROWN_TYPE
Python cs.ast_ordinal.UC_THROWN_TYPE
C csao_uc_thrown_type
cc:type
The type of the object being thrown. unavailable when no object is specified.
:destructor
C++ cs::ast_ordinal::UC_DESTRUCTOR
Python cs.ast_ordinal.UC_DESTRUCTOR
C csao_uc_destructor
cc:routine
The destructor to be called by the runtime to destroy the thrown object. unavailable when no object is specified or when not needed.
Notes C++ throw expression.
CLASS cc:condition
API Representation
C++cs::ast_class::UC_CONDITION
Pythoncs.ast_class.UC_CONDITION
Ccsac_uc_condition
Canonical namecc:condition
Superclass cc:expr
Children
:assoc-scope
C++ cs::ast_ordinal::UC_ASSOC_SCOPE
Python cs.ast_ordinal.UC_ASSOC_SCOPE
C csao_uc_assoc_scope
cc:scope
The scope established for the declaration of the variable that is initialized in the condition. The scope for the dependent statement of the then- or else- clause of an if-statement or for the dependent statement of the switch-, while-, or for-statement is nested inside it. With loop statements the scope is terminated and reentered with each iteration.
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The dynamic init entry representing the initialization of the variable declared in the condition.
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The value to be tested in the selection or iteration statement, i.e., the (possibly converted) variable declared in the condition.
:initialization
C++ cs::ast_ordinal::UC_INITIALIZATION
Python cs.ast_ordinal.UC_INITIALIZATION
C csao_uc_initialization
cc:statement
The optional initialization statement in a C++17 selection statement.
Notes C++ condition expression that involves variable declaration and initialization.
CLASS cc:expr-object-lifetime
API Representation
C++cs::ast_class::UC_EXPR_OBJECT_LIFETIME
Pythoncs.ast_class.UC_EXPR_OBJECT_LIFETIME
Ccsac_uc_expr_object_lifetime
Canonical namecc:expr-object-lifetime
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The full expression with which the object lifetime is associated.
Notes Restrict the lifetime of temporaries created in the enclosed expression (C++ only).
CLASS cc:typeid
API Representation
C++cs::ast_class::UC_TYPEID
Pythoncs.ast_class.UC_TYPEID
Ccsac_uc_typeid
Canonical namecc:typeid
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
If the argument of the typeid operator is an expression with one of the special forms (*p or p[x]), and the type is a polymorphic class type, this is the lvalue expression specified (i.e., its value is the address); otherwise unavailable.
Attributes
:typeid-type
C++ cs::ast_ordinal::UC_TYPEID_TYPE
Python cs.ast_ordinal.UC_TYPEID_TYPE
C csao_uc_typeid_type
cc:type
If the argument of the typeid operator is a type, the type specified; if it is an expression, the type of the expression specified. In either case, top-level type qualifiers are removed.
Notes C++ typeid expression.
CLASS cc:runtime-sizeof-type
API Representation
C++cs::ast_class::UC_RUNTIME_SIZEOF_TYPE
Pythoncs.ast_class.UC_RUNTIME_SIZEOF_TYPE
Ccsac_uc_runtime_sizeof_type
Canonical namecc:runtime-sizeof-type
Superclass cc:sizeof
Attributes
:sizeof-type
C++ cs::ast_ordinal::UC_SIZEOF_TYPE
Python cs.ast_ordinal.UC_SIZEOF_TYPE
C csao_uc_sizeof_type
cc:type
The type to which sizeof is applied.
Notes A sizeof expression that cannot be evaluated until runtime. Used in C to determine the size of a type involving a variable length array.
CLASS cc:runtime-sizeof
API Representation
C++cs::ast_class::UC_RUNTIME_SIZEOF
Pythoncs.ast_class.UC_RUNTIME_SIZEOF
Ccsac_uc_runtime_sizeof
Canonical namecc:runtime-sizeof
Superclass cc:sizeof
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The sizeof expression.
Notes A sizeof in expression form.
CLASS cc:sizeof-pack-type
API Representation
C++cs::ast_class::UC_SIZEOF_PACK_TYPE
Pythoncs.ast_class.UC_SIZEOF_PACK_TYPE
Ccsac_uc_sizeof_pack_type
Canonical namecc:sizeof-pack-type
Superclass cc:sizeof-pack
Attributes
:sizeof-type
C++ cs::ast_ordinal::UC_SIZEOF_TYPE
Python cs.ast_ordinal.UC_SIZEOF_TYPE
C csao_uc_sizeof_type
cc:type
The type to which sizeof is applied.
CLASS cc:sizeof-pack-expr
API Representation
C++cs::ast_class::UC_SIZEOF_PACK_EXPR
Pythoncs.ast_class.UC_SIZEOF_PACK_EXPR
Ccsac_uc_sizeof_pack_expr
Canonical namecc:sizeof-pack-expr
Superclass cc:sizeof-pack
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The sizeof expression.
CLASS cc:sizeof-pack-template
API Representation
C++cs::ast_class::UC_SIZEOF_PACK_TEMPLATE
Pythoncs.ast_class.UC_SIZEOF_PACK_TEMPLATE
Ccsac_uc_sizeof_pack_template
Canonical namecc:sizeof-pack-template
Superclass cc:sizeof-pack
Attributes
:template
C++ cs::ast_ordinal::UC_TEMPLATE
Python cs.ast_ordinal.UC_TEMPLATE
C csao_uc_template
cc:template
The template to which sizeof is applied.
CLASS cc:alignof-type
API Representation
C++cs::ast_class::UC_ALIGNOF_TYPE
Pythoncs.ast_class.UC_ALIGNOF_TYPE
Ccsac_uc_alignof_type
Canonical namecc:alignof-type
Superclass cc:alignof
Attributes
:alignof-type
C++ cs::ast_ordinal::UC_ALIGNOF_TYPE
Python cs.ast_ordinal.UC_ALIGNOF_TYPE
C csao_uc_alignof_type
cc:type
The type to which alignof is applied.
Notes alignof(X), where X is a type.
CLASS cc:alignof-expr
API Representation
C++cs::ast_class::UC_ALIGNOF
Pythoncs.ast_class.UC_ALIGNOF
Ccsac_uc_alignof
Canonical namecc:alignof-expr
Superclass cc:alignof
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression to which alignof is applied.
Notes alignof(X), where X is an expression.
CLASS cc:datasizeof-type
API Representation
C++cs::ast_class::UC_DATASIZEOF_TYPE
Pythoncs.ast_class.UC_DATASIZEOF_TYPE
Ccsac_uc_datasizeof_type
Canonical namecc:datasizeof-type
Superclass cc:datasizeof
Attributes
:sizeof-type
C++ cs::ast_ordinal::UC_SIZEOF_TYPE
Python cs.ast_ordinal.UC_SIZEOF_TYPE
C csao_uc_sizeof_type
cc:type
The type to which __datasizeof is applied.
Notes A __datasizeof expression.
CLASS cc:datasizeof-expr
API Representation
C++cs::ast_class::UC_DATASIZEOF
Pythoncs.ast_class.UC_DATASIZEOF
Ccsac_uc_datasizeof
Canonical namecc:datasizeof-expr
Superclass cc:datasizeof
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The __datasizeof expression.
Notes A __datasizeof in expression form.
CLASS cc:address-of-ellipsis
API Representation
C++cs::ast_class::UC_ADDRESS_OF_ELLIPSIS
Pythoncs.ast_class.UC_ADDRESS_OF_ELLIPSIS
Ccsac_uc_address_of_ellipsis
Canonical namecc:address-of-ellipsis
Superclass cc:expr
Notes Non-standard construct "&..."
CLASS cc:lambda-capture
API Representation
C++cs::ast_class::UC_LAMBDA_CAPTURE
Pythoncs.ast_class.UC_LAMBDA_CAPTURE
Ccsac_uc_lambda_capture
Canonical namecc:lambda-capture
Superclass cc:ast
Children
:capture-by-reference
C++ cs::ast_ordinal::UC_CAPTURE_BY_REFERENCE
Python cs.ast_ordinal.UC_CAPTURE_BY_REFERENCE
C csao_uc_capture_by_reference
BOOLEAN
true if if this entity is being captured by reference, false if by value.
:is-implicit
C++ cs::ast_ordinal::UC_IS_IMPLICIT
Python cs.ast_ordinal.UC_IS_IMPLICIT
C csao_uc_is_implicit
BOOLEAN
true if this entity was implicitly added to the capture list, false if it was explicitly named in the capture list.
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
The variable entry for the local variable or "this" pointer to be captured.
:source-field
C++ cs::ast_ordinal::UC_SOURCE_FIELD
Python cs.ast_ordinal.UC_SOURCE_FIELD
C csao_uc_source_field
cc:field
If the variable being captured is reachable only because it's captured by an intervening lambda, this gives the field of the closure class that should be the source of the current capture. When this field is non-NULL, the "variable" field will be NULL .
:field
C++ cs::ast_ordinal::UC_FIELD
Python cs.ast_ordinal.UC_FIELD
C csao_uc_field
cc:field
The nonstatic data member of the closure class that is used to access the captured variable within the lambda. This is NULL until the variable is actually used within the lambda.
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
Notes Represent a local variable, reference, or this parameter that is part of the capture list (either explicitly or implicitly) of a lambda.
CLASS cc:expr-stmt
API Representation
C++cs::ast_class::UC_EXPR_STMT
Pythoncs.ast_class.UC_EXPR_STMT
Ccsac_uc_expr_stmt
Canonical namecc:expr-stmt
Superclass cc:expr
Children
:statement
C++ cs::ast_ordinal::UC_STATEMENT
Python cs.ast_ordinal.UC_STATEMENT
C csao_uc_statement
cc:statement
Enclosed compound statement.
Notes A statement expression. This is a GNU extension.
CLASS cc:reuse-value
API Representation
C++cs::ast_class::UC_REUSE_VALUE
Pythoncs.ast_class.UC_REUSE_VALUE
Ccsac_uc_reuse_value
Canonical namecc:reuse-value
Superclass cc:expr
Attributes
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The dynamic initialization that creates the value to be reused.
Notes Reuse a value computed elsewhere in the current expression tree. Used for cases where a single expression is used twice but evaluated only once.
CLASS cc:expr-routine
API Representation
C++cs::ast_class::UC_EXPR_ROUTINE
Pythoncs.ast_class.UC_EXPR_ROUTINE
Ccsac_uc_expr_routine
Canonical namecc:expr-routine
Superclass cc:expr
Attributes
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The routine.
Notes Indicates a routine.
CLASS cc:vla-dealloc
API Representation
C++cs::ast_class::UC_VLA_DEALLOC
Pythoncs.ast_class.UC_VLA_DEALLOC
Ccsac_uc_vla_dealloc
Canonical namecc:vla-dealloc
Superclass cc:expr
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
A variable with a variable length array type, for which memory was previously allocated and is deallocated at this point.
Notes Marks where a VLA object (a variable with a variable length array type) should be deallocated. Implementation dependent.
CLASS cc:expr-type
API Representation
C++cs::ast_class::UC_EXPR_TYPE
Pythoncs.ast_class.UC_EXPR_TYPE
Ccsac_uc_expr_type
Canonical namecc:expr-type
Superclass cc:expr
Attributes
:represented-type
C++ cs::ast_ordinal::UC_REPRESENTED_TYPE
Python cs.ast_ordinal.UC_REPRESENTED_TYPE
C csao_uc_represented_type
cc:type
The type represented by the operand.
Notes Used to represent types in certain expression constructs.
CLASS cc:builtin-operation-one-type-operand
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_ONE_TYPE_OPERAND
Pythoncs.ast_class.UC_BUILTIN_OPERATION_ONE_TYPE_OPERAND
Ccsac_uc_builtin_operation_one_type_operand
Canonical namecc:builtin-operation-one-type-operand
Superclass cc:builtin-operation-type-operands
Children
The inherited csao_uc_operands child has length 1.
Notes A built-in operation that takes one operand, which is a type.
CLASS cc:builtin-operation-two-type-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_TWO_TYPE_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_TWO_TYPE_OPERANDS
Ccsac_uc_builtin_operation_two_type_operands
Canonical namecc:builtin-operation-two-type-operands
Superclass cc:builtin-operation-type-operands
Children
The inherited csao_uc_operands child has length 2.
Notes A built-in operation that takes two operands, both of which are types.
CLASS cc:builtin-operation-n-type-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_N_TYPE_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_N_TYPE_OPERANDS
Ccsac_uc_builtin_operation_n_type_operands
Canonical namecc:builtin-operation-n-type-operands
Superclass cc:builtin-operation-type-operands
Children
The inherited csao_uc_operands child has variable length.
Notes A built-in operation that takes a variable number of operands, all of which are types.
CLASS cc:builtin-operation-one-expression-operand
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_ONE_EXPRESSION_OPERAND
Pythoncs.ast_class.UC_BUILTIN_OPERATION_ONE_EXPRESSION_OPERAND
Ccsac_uc_builtin_operation_one_expression_operand
Canonical namecc:builtin-operation-one-expression-operand
Superclass cc:builtin-operation-expression-operands
Children
The inherited csao_uc_operands child has length 1.
Notes A built in operation that takes one operand, which is an expression.
CLASS cc:builtin-operation-two-expression-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_TWO_EXPRESSION_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_TWO_EXPRESSION_OPERANDS
Ccsac_uc_builtin_operation_two_expression_operands
Canonical namecc:builtin-operation-two-expression-operands
Superclass cc:builtin-operation-expression-operands
Children
The inherited csao_uc_operands child has length 2.
Notes A built in operation that takes two operands, both of which are expressions.
CLASS cc:builtin-operation-n-expression-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_N_EXPRESSION_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_N_EXPRESSION_OPERANDS
Ccsac_uc_builtin_operation_n_expression_operands
Canonical namecc:builtin-operation-n-expression-operands
Superclass cc:builtin-operation-expression-operands
Children
The inherited csao_uc_operands child has variable length.
Notes A built in operation that takes a variable number of operands, all of which are expressions.
CLASS cc:builtin-operation-expression-type-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_EXPRESSION_TYPE_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_EXPRESSION_TYPE_OPERANDS
Ccsac_uc_builtin_operation_expression_type_operands
Canonical namecc:builtin-operation-expression-type-operands
Superclass cc:builtin-operation
Children
:expr-operand
C++ cs::ast_ordinal::UC_EXPR_OPERAND
Python cs.ast_ordinal.UC_EXPR_OPERAND
C csao_uc_expr_operand
cc:expr
The expression operand.
:type-operand
C++ cs::ast_ordinal::UC_TYPE_OPERAND
Python cs.ast_ordinal.UC_TYPE_OPERAND
C csao_uc_type_operand
cc:type
The type operand.
Notes A builtin operation that takes two operands, the first of which is an expression and the second of which is a type.
CLASS cc:builtin-operation-type-expression-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_TYPE_EXPRESSION_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_TYPE_EXPRESSION_OPERANDS
Ccsac_uc_builtin_operation_type_expression_operands
Canonical namecc:builtin-operation-type-expression-operands
Superclass cc:builtin-operation
Children
:type-operand
C++ cs::ast_ordinal::UC_TYPE_OPERAND
Python cs.ast_ordinal.UC_TYPE_OPERAND
C csao_uc_type_operand
cc:type
The type operand.
:expr-operand
C++ cs::ast_ordinal::UC_EXPR_OPERAND
Python cs.ast_ordinal.UC_EXPR_OPERAND
C csao_uc_expr_operand
cc:expr
The expression operand.
Notes A builtin operation that takes two operands, the first of which is a type and the second of which is an expression.
CLASS cc:builtin-operation-type-two-expression-operands
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_TYPE_TWO_EXPRESSION_OPERANDS
Pythoncs.ast_class.UC_BUILTIN_OPERATION_TYPE_TWO_EXPRESSION_OPERANDS
Ccsac_uc_builtin_operation_type_two_expression_operands
Canonical namecc:builtin-operation-type-two-expression-operands
Superclass cc:builtin-operation
Children
:type-operand
C++ cs::ast_ordinal::UC_TYPE_OPERAND
Python cs.ast_ordinal.UC_TYPE_OPERAND
C csao_uc_type_operand
cc:type
The type operand.
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of the operands (cc:expr).
Notes A builtin operation that takes three operands, the first of which is a type and the second and third of which are expressions.
CLASS cc:builtin-operation-class-template-and-type
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_CLASS_TEMPLATE_AND_TYPE
Pythoncs.ast_class.UC_BUILTIN_OPERATION_CLASS_TEMPLATE_AND_TYPE
Ccsac_uc_builtin_operation_class_template_and_type
Canonical namecc:builtin-operation-class-template-and-type
Superclass cc:builtin-operation
Children
:type-operand
C++ cs::ast_ordinal::UC_TYPE_OPERAND
Python cs.ast_ordinal.UC_TYPE_OPERAND
C csao_uc_type_operand
cc:type
The second operand, a type.
Notes A builtin operation that takes two operands, the first of which is a class-template and the second of which is a type.
CLASS cc:builtin-operation-has-attribute
API Representation
C++cs::ast_class::UC_BUILTIN_OPERATION_HAS_ATTRIBUTE
Pythoncs.ast_class.UC_BUILTIN_OPERATION_HAS_ATTRIBUTE
Ccsac_uc_builtin_operation_has_attribute
Canonical namecc:builtin-operation-has-attribute
Superclass cc:builtin-operation
Children
:expr-operand
C++ cs::ast_ordinal::UC_EXPR_OPERAND
Python cs.ast_ordinal.UC_EXPR_OPERAND
C csao_uc_expr_operand
cc:expr
The first operand, if that operand is an expression. Not present if csao_uc_type_operand is set.
:type-operand
C++ cs::ast_ordinal::UC_TYPE_OPERAND
Python cs.ast_ordinal.UC_TYPE_OPERAND
C csao_uc_type_operand
cc:type
The first operand, if that operand is a type. Not present if csao_uc_expr_operand is set.
:attribute
C++ cs::ast_ordinal::UC_ATTRIBUTE
Python cs.ast_ordinal.UC_ATTRIBUTE
C csao_uc_attribute
cc:attribute
The second operand: an attribute.
Notes The __builtin_has_attribute builtin, which takes two arguments: the first is either an expression or a type; the second is an attribute.
CLASS cc:param-ref
API Representation
C++cs::ast_class::UC_PARAM_REF
Pythoncs.ast_class.UC_PARAM_REF
Ccsac_uc_param_ref
Canonical namecc:param-ref
Superclass cc:expr
Notes Used to represent a reference to a parameter in an expression that participates in the signature of a function type.
CLASS cc:braced-init-list
API Representation
C++cs::ast_class::UC_BRACED_INIT_LIST
Pythoncs.ast_class.UC_BRACED_INIT_LIST
Ccsac_uc_braced_init_list
Canonical namecc:braced-init-list
Superclass cc:expr
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of expressions (possibly empty) that appear inside a C++11 brace-enclosed initializer list. This kind of node appears only in template prototype instantiations, because in other contexts initializer lists are always resolved to something else (e.g., a constructor call).
Notes A C++11 brace-enclosed initializer list.
CLASS cc:c11-generic
API Representation
C++cs::ast_class::UC_C11_GENERIC
Pythoncs.ast_class.UC_C11_GENERIC
Ccsac_uc_c11_generic
Canonical namecc:c11-generic
Superclass cc:expr
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
The list of operands in the _Generic(...) construct in order of appearance.
Attributes
:result
C++ cs::ast_ordinal::UC_RESULT
Python cs.ast_ordinal.UC_RESULT
C csao_uc_result
cc:expr
The selected expression. This points to a node in the operands list.
Notes C11 _Generic expression selection.
CLASS cc:builtin-choose-expr
API Representation
C++cs::ast_class::UC_BUILTIN_CHOOSE_EXPR
Pythoncs.ast_class.UC_BUILTIN_CHOOSE_EXPR
Ccsac_uc_builtin_choose_expr
Canonical namecc:builtin-choose-expr
Superclass cc:expr
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
A list of three operands that appeared in the __builtin_choose_expr construct.
Attributes
:result
C++ cs::ast_ordinal::UC_RESULT
Python cs.ast_ordinal.UC_RESULT
C csao_uc_result
cc:expr
The selected operand. This points to a node in the operands list.
Notes GNU __builtin_choose_expr
CLASS cc:co-await
API Representation
C++cs::ast_class::UC_CO_AWAIT
Pythoncs.ast_class.UC_CO_AWAIT
Ccsac_uc_co_await
Canonical namecc:co-await
Superclass cc:expr
Children
:operand
C++ cs::ast_ordinal::UC_OPERAND
Python cs.ast_ordinal.UC_OPERAND
C csao_uc_operand
cc:expr
The operand of the co_await operator.
Attributes
:await-ready-call
C++ cs::ast_ordinal::UC_AWAIT_READY_CALL
Python cs.ast_ordinal.UC_AWAIT_READY_CALL
C csao_uc_await_ready_call
cc:expr
The await_ready call needed to implement the co_await oeperation.
:await-resume-call
C++ cs::ast_ordinal::UC_AWAIT_RESUME_CALL
Python cs.ast_ordinal.UC_AWAIT_RESUME_CALL
C csao_uc_await_resume_call
cc:expr
The await_resume call needed to implement the co_await oeperation.
:await-suspend-call
C++ cs::ast_ordinal::UC_AWAIT_SUSPEND_CALL
Python cs.ast_ordinal.UC_AWAIT_SUSPEND_CALL
C csao_uc_await_suspend_call
cc:expr
The await_suspend call needed to implement the co_await oeperation.
Notes C++20 co_await expression.
CLASS cc:co-yield
API Representation
C++cs::ast_class::UC_CO_YIELD
Pythoncs.ast_class.UC_CO_YIELD
Ccsac_uc_co_yield
Canonical namecc:co-yield
Superclass cc:expr
Children
:operand
C++ cs::ast_ordinal::UC_OPERAND
Python cs.ast_ordinal.UC_OPERAND
C csao_uc_operand
cc:expr
The call to yield_value member of the promise type. co_yield expr is equivalent to co_await promise.yield_value(expr).
Attributes
:await-ready-call
C++ cs::ast_ordinal::UC_AWAIT_READY_CALL
Python cs.ast_ordinal.UC_AWAIT_READY_CALL
C csao_uc_await_ready_call
cc:expr
The await_ready call needed to implement the co_await oeperation.
:await-resume-call
C++ cs::ast_ordinal::UC_AWAIT_RESUME_CALL
Python cs.ast_ordinal.UC_AWAIT_RESUME_CALL
C csao_uc_await_resume_call
cc:expr
The await_resume call needed to implement the co_await oeperation.
:await-suspend-call
C++ cs::ast_ordinal::UC_AWAIT_SUSPEND_CALL
Python cs.ast_ordinal.UC_AWAIT_SUSPEND_CALL
C csao_uc_await_suspend_call
cc:expr
The await_suspend call needed to implement the co_await oeperation.
Notes C++20 co_await expression.
CLASS cc:fold
API Representation
C++cs::ast_class::UC_FOLD
Pythoncs.ast_class.UC_FOLD
Ccsac_uc_fold
Canonical namecc:fold
Superclass cc:expr
Children
:operands
C++ cs::ast_ordinal::UC_OPERANDS
Python cs.ast_ordinal.UC_OPERANDS
C csao_uc_operands
cc:ast-list
Usually one or two operands, depending on whether this represents a unary or binary fold. Partial substitutions, however, can lead to additional operands.
:operator
C++ cs::ast_ordinal::UC_OPERATOR
Python cs.ast_ordinal.UC_OPERATOR
C csao_uc_operator
STRING
The operator token in the fold.
Notes The generic representation of a C++17 fold expression.
CLASS cc:initializer-expr
API Representation
C++cs::ast_class::UC_INITIALIZER_EXPR
Pythoncs.ast_class.UC_INITIALIZER_EXPR
Ccsac_uc_initializer_expr
Canonical namecc:initializer-expr
Superclass cc:expr
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The dynamic initializer that was folded.
Notes When a dynamic_initializer is folded to a constant, this represents the original initializer in the backing expression.
CLASS cc:concept-id-expr
API Representation
C++cs::ast_class::UC_CONCEPT_ID_EXPR
Pythoncs.ast_class.UC_CONCEPT_ID_EXPR
Ccsac_uc_concept_id_expr
Canonical namecc:concept-id-expr
Superclass cc:expr
Attributes
:template
C++ cs::ast_ordinal::UC_TEMPLATE
Python cs.ast_ordinal.UC_TEMPLATE
C csao_uc_template
cc:template
The concept template this concept-id refers to.
:template-args
C++ cs::ast_ordinal::UC_TEMPLATE_ARGS
Python cs.ast_ordinal.UC_TEMPLATE_ARGS
C csao_uc_template_args
cc:ast-list
The template arguments passed to the concept.
Notes A concept-id expression.
CLASS cc:requires-expr
API Representation
C++cs::ast_class::UC_REQUIRES_EXPR
Pythoncs.ast_class.UC_REQUIRES_EXPR
Ccsac_uc_requires_expr
Canonical namecc:requires-expr
Superclass cc:expr
Children
:requirements
C++ cs::ast_ordinal::UC_REQUIREMENTS
Python cs.ast_ordinal.UC_REQUIREMENTS
C csao_uc_requirements
cc:ast-list
The list of requirements. Type-requirements are represented with enk_type_operand nodes. Compound and nested requirements are represented with enk_compound_req and enk_nested_req nodes, respectively.
:param-types
C++ cs::ast_ordinal::UC_PARAM_TYPES
Python cs.ast_ordinal.UC_PARAM_TYPES
C csao_uc_param_types
cc:ast-list
The optional list of parameters.
Notes A requires-expression.
CLASS cc:compound-req-expr
API Representation
C++cs::ast_class::UC_COMPOUND_REQ_EXPR
Pythoncs.ast_class.UC_COMPOUND_REQ_EXPR
Ccsac_uc_compound_req_expr
Canonical namecc:compound-req-expr
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
:constraint
C++ cs::ast_ordinal::UC_CONSTRAINT
Python cs.ast_ordinal.UC_CONSTRAINT
C csao_uc_constraint
cc:expr
An enk_concept_id node representing a type constraint.
Notes A compound-requirement.
CLASS cc:nested-req-expr
API Representation
C++cs::ast_class::UC_NESTED_REQ_EXPR
Pythoncs.ast_class.UC_NESTED_REQ_EXPR
Ccsac_uc_nested_req_expr
Canonical namecc:nested-req-expr
Superclass cc:expr
Children
:constraint
C++ cs::ast_ordinal::UC_CONSTRAINT
Python cs.ast_ordinal.UC_CONSTRAINT
C csao_uc_constraint
cc:expr
Notes A nested-requirement.
CLASS cc:const-eval-deferred-expr
API Representation
C++cs::ast_class::UC_CONST_EVAL_DEFERRED_EXPR
Pythoncs.ast_class.UC_CONST_EVAL_DEFERRED_EXPR
Ccsac_uc_const_eval_deferred_expr
Canonical namecc:const-eval-deferred-expr
Superclass cc:expr
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
Notes A deferred constant evaluation node.
CLASS cc:template-name
API Representation
C++cs::ast_class::UC_TEMPLATE_NAME_EXPR
Pythoncs.ast_class.UC_TEMPLATE_NAME_EXPR
Ccsac_uc_template_name_expr
Canonical namecc:template-name
Superclass cc:expr
Attributes
:template
C++ cs::ast_ordinal::UC_TEMPLATE
Python cs.ast_ordinal.UC_TEMPLATE
C csao_uc_template
cc:expr
Notes Used to represent a template name in builtin operation expressions.
CLASS cc:handler
API Representation
C++cs::ast_class::UC_HANDLER
Pythoncs.ast_class.UC_HANDLER
Ccsac_uc_handler
Canonical namecc:handler
Superclass cc:ast
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
A dynamic initialization entry that describes the initialization of the parameter (i.e., initialization via a specific copy constructor or by bitwise copy); it also identifies the destructor to be used, if any. unavailable when the exception declaration is an ellipsis.
:block
C++ cs::ast_ordinal::UC_BLOCK
Python cs.ast_ordinal.UC_BLOCK
C csao_uc_block
cc:block
The compound statement that makes up the body of the handler.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:parameter
C++ cs::ast_ordinal::UC_PARAMETER
Python cs.ast_ordinal.UC_PARAMETER
C csao_uc_parameter
cc:variable
The object to be initialized by the throw object when the handler is invoked. It may or may not be named. It is unavailable when the exception declaration is an ellipsis.
Notes A handler (or catch-clause) defined in a try block.
CLASS cc:stmt-expr
API Representation
C++cs::ast_class::UC_STMT_EXPR
Pythoncs.ast_class.UC_STMT_EXPR
Ccsac_uc_stmt_expr
Canonical namecc:stmt-expr
Superclass cc:statement
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression to evaluate.
Notes Statement that evaluates an expression and discards its value.
CLASS cc:if
API Representation
C++cs::ast_class::UC_IF
Pythoncs.ast_class.UC_IF
Ccsac_uc_if
Canonical namecc:if
Superclass cc:statement
Children
:condition
C++ cs::ast_ordinal::UC_CONDITION
Python cs.ast_ordinal.UC_CONDITION
C csao_uc_condition
cc:expr
The expression to test.
:consequent
C++ cs::ast_ordinal::UC_CONSEQUENT
Python cs.ast_ordinal.UC_CONSEQUENT
C csao_uc_consequent
cc:statement
The statements to go to if the expression is true. If there is no statement in the 'then' part, it is unavailable.
:alternative
C++ cs::ast_ordinal::UC_ALTERNATIVE
Python cs.ast_ordinal.UC_ALTERNATIVE
C csao_uc_alternative
cc:statement
The statements to go to if the expression is false. If there is no statement in the 'else' part, it is unavailable.
Notes if statement.
CLASS cc:constexpr-if
API Representation
C++cs::ast_class::UC_CONSTEXPR_IF
Pythoncs.ast_class.UC_CONSTEXPR_IF
Ccsac_uc_constexpr_if
Canonical namecc:constexpr-if
Superclass cc:statement
Children
:condition
C++ cs::ast_ordinal::UC_CONDITION
Python cs.ast_ordinal.UC_CONDITION
C csao_uc_condition
cc:expr
The expression to test.
:value-known
C++ cs::ast_ordinal::UC_VALUE_KNOWN
Python cs.ast_ordinal.UC_VALUE_KNOWN
C csao_uc_value_known
BOOLEAN
TRUE if the expression resulted in a known (i.e., non-dependent) constant value.
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
BOOLEAN
When value_known is TRUE, this is TRUE if the result value is TRUE.
:consequent
C++ cs::ast_ordinal::UC_CONSEQUENT
Python cs.ast_ordinal.UC_CONSEQUENT
C csao_uc_consequent
cc:statement
The statements to be evaluated if the expression is true.
:alternative
C++ cs::ast_ordinal::UC_ALTERNATIVE
Python cs.ast_ordinal.UC_ALTERNATIVE
C csao_uc_alternative
cc:statement
The statements to be evaluated if the expression is false.
Notes if statement.
CLASS cc:if-consteval
API Representation
C++cs::ast_class::UC_IF_CONSTEVAL
Pythoncs.ast_class.UC_IF_CONSTEVAL
Ccsac_uc_if_consteval
Canonical namecc:if-consteval
Superclass cc:statement
Children
:consequent
C++ cs::ast_ordinal::UC_CONSEQUENT
Python cs.ast_ordinal.UC_CONSEQUENT
C csao_uc_consequent
cc:statement
The statements to go to if the statement is evaluated in a constant expression context.
:alternative
C++ cs::ast_ordinal::UC_ALTERNATIVE
Python cs.ast_ordinal.UC_ALTERNATIVE
C csao_uc_alternative
cc:statement
The statements to go to if the statement is evaluated in a non-constant expression context. If there is no statement in the 'else' part, it is unavailable.
Notes if consteval statement.
CLASS cc:if-not-consteval
API Representation
C++cs::ast_class::UC_IF_NOT_CONSTEVAL
Pythoncs.ast_class.UC_IF_NOT_CONSTEVAL
Ccsac_uc_if_not_consteval
Canonical namecc:if-not-consteval
Superclass cc:statement
Children
:consequent
C++ cs::ast_ordinal::UC_CONSEQUENT
Python cs.ast_ordinal.UC_CONSEQUENT
C csao_uc_consequent
cc:statement
The statements to go to if the statement is evaluated in a non-constant expression context.
:alternative
C++ cs::ast_ordinal::UC_ALTERNATIVE
Python cs.ast_ordinal.UC_ALTERNATIVE
C csao_uc_alternative
cc:statement
The statements to go to if the statement is evaluated in a constant expression context. If there is no statement in the 'else' part, it is unavailable.
Notes if !consteval statement.
CLASS cc:while
API Representation
C++cs::ast_class::UC_WHILE
Pythoncs.ast_class.UC_WHILE
Ccsac_uc_while
Canonical namecc:while
Superclass cc:statement
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression to test.
:statement
C++ cs::ast_ordinal::UC_STATEMENT
Python cs.ast_ordinal.UC_STATEMENT
C csao_uc_statement
cc:statement
The statement that is the body of the loop.
Notes while loop (with test at top).
CLASS cc:goto
API Representation
C++cs::ast_class::UC_GOTO
Pythoncs.ast_class.UC_GOTO
Ccsac_uc_goto
Canonical namecc:goto
Superclass cc:statement
Attributes
:label
C++ cs::ast_ordinal::UC_LABEL
Python cs.ast_ordinal.UC_LABEL
C csao_uc_label
cc:label
The label.
Notes goto statement.
CLASS cc:stmt-label
API Representation
C++cs::ast_class::UC_STMT_LABEL
Pythoncs.ast_class.UC_STMT_LABEL
Ccsac_uc_stmt_label
Canonical namecc:stmt-label
Superclass cc:statement
Children
:label
C++ cs::ast_ordinal::UC_LABEL
Python cs.ast_ordinal.UC_LABEL
C csao_uc_label
cc:label
The label itself.
Notes Code label.
CLASS cc:return
API Representation
C++cs::ast_class::UC_RETURN
Pythoncs.ast_class.UC_RETURN
Ccsac_uc_return
Canonical namecc:return
Superclass cc:statement
Children
:return-value
C++ cs::ast_ordinal::UC_RETURN_VALUE
Python cs.ast_ordinal.UC_RETURN_VALUE
C csao_uc_return_value
cc:expr
The return value (or unavailable).
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
For a routine that returns a value by calling a copy constructor (C++ only), this is a dynamic initialization entry that initializes the return value. unavailable otherwise. When this is available, expr is unavailable.
Notes return statement.
CLASS cc:coroutine
API Representation
C++cs::ast_class::UC_COROUTINE
Pythoncs.ast_class.UC_COROUTINE
Ccsac_uc_coroutine
Canonical namecc:coroutine
Superclass cc:statement
Children
:handle
C++ cs::ast_ordinal::UC_HANDLE
Python cs.ast_ordinal.UC_HANDLE
C csao_uc_handle
cc:variable
A placeholder variable representing the handle for the coroutine invocation.
:promise
C++ cs::ast_ordinal::UC_PROMISE
Python cs.ast_ordinal.UC_PROMISE
C csao_uc_promise
cc:variable
A placeholder variable representing the promise for the coroutine invocation.
:initial-await-resume-called
C++ cs::ast_ordinal::UC_INITIAL_AWAIT_RESUME_CALLED
Python cs.ast_ordinal.UC_INITIAL_AWAIT_RESUME_CALLED
C csao_uc_initial_await_resume_called
cc:variable
A placeholder variable representing the "initial-await-resume-called" variable for the coroutine invocation.
:this-param-copy
C++ cs::ast_ordinal::UC_THIS_PARAM_COPY
Python cs.ast_ordinal.UC_THIS_PARAM_COPY
C csao_uc_this_param_copy
cc:variable
A copy of the implicit "this" parameter of the coroutine, if present.
:parameter-copies
C++ cs::ast_ordinal::UC_PARAMETER_COPIES
Python cs.ast_ordinal.UC_PARAMETER_COPIES
C csao_uc_parameter_copies
cc:ast-list
A copy of the coroutine's parameters.
:unhandled-exception-call
C++ cs::ast_ordinal::UC_UNHANDLED_EXCEPTION_CALL
Python cs.ast_ordinal.UC_UNHANDLED_EXCEPTION_CALL
C csao_uc_unhandled_exception_call
cc:expr
An expression containing the call to promise.unhandled_exception() .
:get-return-object-call
C++ cs::ast_ordinal::UC_GET_RETURN_OBJECT_CALL
Python cs.ast_ordinal.UC_GET_RETURN_OBJECT_CALL
C csao_uc_get_return_object_call
cc:expr
An expression containing the call to promise.get_return_object() .
:get-return-object-on-allocation-failure-call
C++ cs::ast_ordinal::UC_GET_RETURN_OBJECT_ON_ALLOCATION_FAILURE_CALL
Python cs.ast_ordinal.UC_GET_RETURN_OBJECT_ON_ALLOCATION_FAILURE_CALL
C csao_uc_get_return_object_on_allocation_failure_call
cc:expr
An expression containing the call to promise.get_return_object_on_allocation_failure() .
Attributes
:traits
C++ cs::ast_ordinal::UC_TRAITS
Python cs.ast_ordinal.UC_TRAITS
C csao_uc_traits
cc:type
The std::experimental::resumable_traits instance associated with this coroutine.
:initial-suspend-call
C++ cs::ast_ordinal::UC_INITIAL_SUSPEND_CALL
Python cs.ast_ordinal.UC_INITIAL_SUSPEND_CALL
C csao_uc_initial_suspend_call
cc:expr
An expression containing the call to promise.initial_suspend() .
:final-suspend-call
C++ cs::ast_ordinal::UC_FINAL_SUSPEND_CALL
Python cs.ast_ordinal.UC_FINAL_SUSPEND_CALL
C csao_uc_final_suspend_call
cc:expr
An expression containing the call to promise.final_suspend() .
:final-suspend-label
C++ cs::ast_ordinal::UC_FINAL_SUSPEND_LABEL
Python cs.ast_ordinal.UC_FINAL_SUSPEND_LABEL
C csao_uc_final_suspend_label
cc:label
A copy of the coroutine's parameters.
:new-routine
C++ cs::ast_ordinal::UC_NEW_ROUTINE
Python cs.ast_ordinal.UC_NEW_ROUTINE
C csao_uc_new_routine
cc:routine
A pointer to the new routine that should be used for allocating the coroutine state.
:delete-routine
C++ cs::ast_ordinal::UC_DELETE_ROUTINE
Python cs.ast_ordinal.UC_DELETE_ROUTINE
C csao_uc_delete_routine
cc:routine
A pointer to the delete routine that should be used for deallocating the coroutine state.
:has-return-void
C++ cs::ast_ordinal::UC_HAS_RETURN_VOID
Python cs.ast_ordinal.UC_HAS_RETURN_VOID
C csao_uc_has_return_void
BOOLEAN
true if the promise type has a member function return_void.
Notes Coroutine information.
CLASS cc:coroutine-return
API Representation
C++cs::ast_class::UC_COROUTINE_RETURN
Pythoncs.ast_class.UC_COROUTINE_RETURN
Ccsac_uc_coroutine_return
Canonical namecc:coroutine-return
Superclass cc:statement
Children
:return-value
C++ cs::ast_ordinal::UC_RETURN_VALUE
Python cs.ast_ordinal.UC_RETURN_VALUE
C csao_uc_return_value
cc:expr
The return value (or unavailable).
Notes return statement (for a coroutine).
CLASS cc:block
API Representation
C++cs::ast_class::UC_BLOCK
Pythoncs.ast_class.UC_BLOCK
Ccsac_uc_block
Canonical namecc:block
Superclass cc:statement
Children
:statements
C++ cs::ast_ordinal::UC_STATEMENTS
Python cs.ast_ordinal.UC_STATEMENTS
C csao_uc_statements
cc:ast-list
The list of statements (cc:statement) contained within the block.
:scope
C++ cs::ast_ordinal::UC_SCOPE
Python cs.ast_ordinal.UC_SCOPE
C csao_uc_scope
cc:scope
The associated scope, or unavailable if there is no associated scope. This is only used for blocks that have local declarations. Specifically, it is not used for the scope associated with a function.
Attributes
:end-of-block-reachable
C++ cs::ast_ordinal::UC_END_OF_BLOCK_REACHABLE
Python cs.ast_ordinal.UC_END_OF_BLOCK_REACHABLE
C csao_uc_end_of_block_reachable
BOOLEAN
true if the end of the block is reachable.
:compiler-generated
C++ cs::ast_ordinal::UC_COMPILER_GENERATED
Python cs.ast_ordinal.UC_COMPILER_GENERATED
C csao_uc_compiler_generated
BOOLEAN
true if the block was generated.
Notes List of statements.
CLASS cc:end-test-while
API Representation
C++cs::ast_class::UC_END_TEST_WHILE
Pythoncs.ast_class.UC_END_TEST_WHILE
Ccsac_uc_end_test_while
Canonical namecc:end-test-while
Superclass cc:statement
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression to test.
:statement
C++ cs::ast_ordinal::UC_STATEMENT
Python cs.ast_ordinal.UC_STATEMENT
C csao_uc_statement
cc:statement
The statement that is the body of the loop.
Notes Loop with while test at the bottom.
CLASS cc:for
API Representation
C++cs::ast_class::UC_FOR
Pythoncs.ast_class.UC_FOR
Ccsac_uc_for
Canonical namecc:for
Superclass cc:statement
Children
:initialization
C++ cs::ast_ordinal::UC_INITIALIZATION
Python cs.ast_ordinal.UC_INITIALIZATION
C csao_uc_initialization
cc:statement
The loop initialization. unavailable if there is none.
:termination
C++ cs::ast_ordinal::UC_TERMINATION
Python cs.ast_ordinal.UC_TERMINATION
C csao_uc_termination
cc:expr
The expression to test.
:increment
C++ cs::ast_ordinal::UC_INCREMENT
Python cs.ast_ordinal.UC_INCREMENT
C csao_uc_increment
cc:expr
An expression to be executed at the end of each iteration of the loop; unavailable if there is none.
:body
C++ cs::ast_ordinal::UC_BODY
Python cs.ast_ordinal.UC_BODY
C csao_uc_body
cc:statement
The statement that is the body of the loop that is to be executed on each iteration of the loop; unavailable if there is none.
:for-init-scope
C++ cs::ast_ordinal::UC_FOR_INIT_SCOPE
Python cs.ast_ordinal.UC_FOR_INIT_SCOPE
C csao_uc_for_init_scope
cc:block-scope
The scope created for name(s) declared in the for-init statement. unavailable if there is none.
Notes for loop.
CLASS cc:for-each
API Representation
C++cs::ast_class::UC_FOR_EACH
Pythoncs.ast_class.UC_FOR_EACH
Ccsac_uc_for_each
Canonical namecc:for-each
Superclass cc:enhanced-for
Notes for each loop.
CLASS cc:range-based-for
API Representation
C++cs::ast_class::UC_RANGE_BASED_FOR
Pythoncs.ast_class.UC_RANGE_BASED_FOR
Ccsac_uc_range_based_for
Canonical namecc:range-based-for
Superclass cc:enhanced-for
Children
:initialization
C++ cs::ast_ordinal::UC_INITIALIZATION
Python cs.ast_ordinal.UC_INITIALIZATION
C csao_uc_initialization
cc:statement
The loop initialization (C++20 and later). unavailable if there is none.
Notes C++11 range-based for loop.
CLASS cc:switch-case
API Representation
C++cs::ast_class::UC_SWITCH_CASE
Pythoncs.ast_class.UC_SWITCH_CASE
Ccsac_uc_switch_case
Canonical namecc:switch-case
Superclass cc:statement
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
cc:switch-case-entry
A switch case entry (cc:switch-case-entry) describing the value or range associated with this case.
Notes A single case in a switch statement.
CLASS cc:switch
API Representation
C++cs::ast_class::UC_SWITCH
Pythoncs.ast_class.UC_SWITCH
Ccsac_uc_switch
Canonical namecc:switch
Superclass cc:statement
Children
:condition
C++ cs::ast_ordinal::UC_CONDITION
Python cs.ast_ordinal.UC_CONDITION
C csao_uc_condition
cc:expr
The switch expression.
:body
C++ cs::ast_ordinal::UC_BODY
Python cs.ast_ordinal.UC_BODY
C csao_uc_body
cc:statement
The statement controlled by the switch. Almost always a compound statement.
Attributes
:sorted-cases
C++ cs::ast_ordinal::UC_SORTED_CASES
Python cs.ast_ordinal.UC_SORTED_CASES
C csao_uc_sorted_cases
cc:ast-list
A list of cc:switch-case-entry, sorted by case label in increasing order.
:default-case
C++ cs::ast_ordinal::UC_DEFAULT_CASE
Python cs.ast_ordinal.UC_DEFAULT_CASE
C csao_uc_default_case
cc:switch-case-entry
The cc:switch-case-entry representing the default case.
:exhaustive-switch
C++ cs::ast_ordinal::UC_EXHAUSTIVE_SWITCH
Python cs.ast_ordinal.UC_EXHAUSTIVE_SWITCH
C csao_uc_exhaustive_switch
BOOLEAN
true if no implicit default case needs to be generated for this switch statement.
Notes A switch statement.
CLASS cc:init
API Representation
C++cs::ast_class::UC_INIT
Pythoncs.ast_class.UC_INIT
Ccsac_uc_init
Canonical namecc:init
Superclass cc:statement
Children
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
The description of the dynamic initialization to be performed.
Notes A dynamic initialization statement.
CLASS cc:asm
API Representation
C++cs::ast_class::UC_ASM
Pythoncs.ast_class.UC_ASM
Ccsac_uc_asm
Canonical namecc:asm
Superclass cc:statement
Children
:asm-entry
C++ cs::ast_ordinal::UC_ASM_ENTRY
Python cs.ast_ordinal.UC_ASM_ENTRY
C csao_uc_asm_entry
cc:asm-entry
Constant giving the string that is the argument of the asm statement, i.e., an assembly-language line.
Notes An asm statement.
CLASS cc:asm-func-body
API Representation
C++cs::ast_class::UC_ASM_FUNC_BODY
Pythoncs.ast_class.UC_ASM_FUNC_BODY
Ccsac_uc_asm_func_body
Canonical namecc:asm-func-body
Superclass cc:statement
Children
:func-body
C++ cs::ast_ordinal::UC_FUNC_BODY
Python cs.ast_ordinal.UC_FUNC_BODY
C csao_uc_func_body
STRING
Null-terminated string representing the body of an asm function with comments removed.
Notes The body of an asm function.
CLASS cc:try-block
API Representation
C++cs::ast_class::UC_TRY_BLOCK
Pythoncs.ast_class.UC_TRY_BLOCK
Ccsac_uc_try_block
Canonical namecc:try-block
Superclass cc:statement
Children
:statement
C++ cs::ast_ordinal::UC_STATEMENT
Python cs.ast_ordinal.UC_STATEMENT
C csao_uc_statement
cc:statement
The dependent statement, i.e., the block that follows the try keyword.
:handlers
C++ cs::ast_ordinal::UC_HANDLERS
Python cs.ast_ordinal.UC_HANDLERS
C csao_uc_handlers
cc:ast-list
A list of entries describing the handlers (cc:handler) (or catch-clauses) defined in the try block.
Attributes
:is-function-try-block
C++ cs::ast_ordinal::UC_IS_FUNCTION_TRY_BLOCK
Python cs.ast_ordinal.UC_IS_FUNCTION_TRY_BLOCK
C csao_uc_is_function_try_block
BOOLEAN
true if this is a function-try-block.
Notes C++ try block.
CLASS cc:ms-try-block
API Representation
C++cs::ast_class::UC_MS_TRY_BLOCK
Pythoncs.ast_class.UC_MS_TRY_BLOCK
Ccsac_uc_ms_try_block
Canonical namecc:ms-try-block
Superclass cc:statement
Children
:statement
C++ cs::ast_ordinal::UC_STATEMENT
Python cs.ast_ordinal.UC_STATEMENT
C csao_uc_statement
cc:statement
The guarded statement.
:except
C++ cs::ast_ordinal::UC_EXCEPT
Python cs.ast_ordinal.UC_EXCEPT
C csao_uc_except
cc:expr
The __except statement, false if a try-finally.
:cleanup
C++ cs::ast_ordinal::UC_CLEANUP
Python cs.ast_ordinal.UC_CLEANUP
C csao_uc_cleanup
cc:statement
The cleanup statement.
Notes Microsoft try-finally or try-except block.
CLASS cc:decl
API Representation
C++cs::ast_class::UC_DECL
Pythoncs.ast_class.UC_DECL
Ccsac_uc_decl
Canonical namecc:decl
Superclass cc:statement
Attributes
:decl
C++ cs::ast_ordinal::UC_DECL
Python cs.ast_ordinal.UC_DECL
C csao_uc_decl
cc:ast-list
A list of entities declared by this statement.
Notes A declaration statement.
CLASS cc:set-vla-size
API Representation
C++cs::ast_class::UC_SET_VLA_SIZE
Pythoncs.ast_class.UC_SET_VLA_SIZE
Ccsac_uc_set_vla_size
Canonical namecc:set-vla-size
Superclass cc:statement
Children
:vla-dimension
C++ cs::ast_ordinal::UC_VLA_DIMENSION
Python cs.ast_ordinal.UC_VLA_DIMENSION
C csao_uc_vla_dimension
cc:vla-dimension
The VLA dimension whose number of elements is fixed at this point.
Notes Sets the size of a VLA type. Implementation dependent.
CLASS cc:vla-typedef-decl
API Representation
C++cs::ast_class::UC_VLA_TYPEDEF_DECL
Pythoncs.ast_class.UC_VLA_TYPEDEF_DECL
Ccsac_uc_vla_typedef_decl
Canonical namecc:vla-typedef-decl
Superclass cc:statement
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type that refers to a variably-modified type.
Notes Declaration of a typedef with variably modified type. Implementation dependent.
CLASS cc:vla-decl
API Representation
C++cs::ast_class::UC_VLA_DECL
Pythoncs.ast_class.UC_VLA_DECL
Ccsac_uc_vla_decl
Canonical namecc:vla-decl
Superclass cc:statement
Attributes
:variable
C++ cs::ast_ordinal::UC_VARIABLE
Python cs.ast_ordinal.UC_VARIABLE
C csao_uc_variable
cc:variable
A variable having a variably modified type. If the variable has VLA type, memory for it is allocated at this point.
Notes Declaration of a variable with variably modified type. If the variable is a VLA, allocate storage for it. Implementation dependent.
CLASS cc:assigned-goto
API Representation
C++cs::ast_class::UC_ASSIGNED_GOTO
Pythoncs.ast_class.UC_ASSIGNED_GOTO
Ccsac_uc_assigned_goto
Canonical namecc:assigned-goto
Superclass cc:statement
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The selector expression.
Notes Assigned goto statement. This is a GNU extension.
CLASS cc:empty
API Representation
C++cs::ast_class::UC_EMPTY
Pythoncs.ast_class.UC_EMPTY
Ccsac_uc_empty
Canonical namecc:empty
Superclass cc:statement
Notes Empty statement.
CLASS cc:stmt-expr-result
API Representation
C++cs::ast_class::UC_STMT_EXPR_RESULT
Pythoncs.ast_class.UC_STMT_EXPR_RESULT
Ccsac_uc_stmt_expr_result
Canonical namecc:stmt-expr-result
Superclass cc:statement
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression to evaluate.
:dynamic-init
C++ cs::ast_ordinal::UC_DYNAMIC_INIT
Python cs.ast_ordinal.UC_DYNAMIC_INIT
C csao_uc_dynamic_init
cc:dynamic-init
For a GNU statement expression that produces a value by calling a copy constructor, this points to a dynamic initialization entry that initializes the result value. Only one of this and csao_uc_expr is set.
Notes A statement in a GNU statement expression producing the result value of that expression.
CLASS cc:file-scope
API Representation
C++cs::ast_class::UC_FILE_SCOPE
Pythoncs.ast_class.UC_FILE_SCOPE
Ccsac_uc_file_scope
Canonical namecc:file-scope
Superclass cc:non-executable-scope
Notes File scope.
CLASS cc:function-prototype-scope
API Representation
C++cs::ast_class::UC_FUNCTION_PROTOTYPE_SCOPE
Pythoncs.ast_class.UC_FUNCTION_PROTOTYPE_SCOPE
Ccsac_uc_function_prototype_scope
Canonical namecc:function-prototype-scope
Superclass cc:non-executable-scope
Attributes
:assoc-type
C++ cs::ast_ordinal::UC_ASSOC_TYPE
Python cs.ast_ordinal.UC_ASSOC_TYPE
C csao_uc_assoc_type
cc:type
The function type whose prototype scope this is.
:local-scopes
C++ cs::ast_ordinal::UC_LOCAL_SCOPES
Python cs.ast_ordinal.UC_LOCAL_SCOPES
C csao_uc_local_scopes
cc:ast-list
List of local scopes (cc:scope) under this scope.
Notes Function prototype scope.
CLASS cc:block-scope
API Representation
C++cs::ast_class::UC_BLOCK_SCOPE
Pythoncs.ast_class.UC_BLOCK_SCOPE
Ccsac_uc_block_scope
Canonical namecc:block-scope
Superclass cc:executable-scope
Attributes
:assoc-block
C++ cs::ast_ordinal::UC_ASSOC_BLOCK
Python cs.ast_ordinal.UC_ASSOC_BLOCK
C csao_uc_assoc_block
cc:statement
unavailable unless this scope has an associated block of statements.
:assoc-handler
C++ cs::ast_ordinal::UC_ASSOC_HANDLER
Python cs.ast_ordinal.UC_ASSOC_HANDLER
C csao_uc_assoc_handler
cc:handler
When the scope is associated with an exception handler, the handler entry; otherwise unavailable.
Notes Block scope. (Topmost block in a function has cc:function-scope).
CLASS cc:namespace-scope
API Representation
C++cs::ast_class::UC_NAMESPACE_SCOPE
Pythoncs.ast_class.UC_NAMESPACE_SCOPE
Ccsac_uc_namespace_scope
Canonical namecc:namespace-scope
Superclass cc:non-executable-scope
Attributes
:namespace
C++ cs::ast_ordinal::UC_NAMESPACE
Python cs.ast_ordinal.UC_NAMESPACE
C csao_uc_namespace
cc:namespace
The namespace associated with this scope.
Notes Scope representing a namespace (C++ only).
CLASS cc:class-struct-union-scope
API Representation
C++cs::ast_class::UC_CLASS_STRUCT_UNION_SCOPE
Pythoncs.ast_class.UC_CLASS_STRUCT_UNION_SCOPE
Ccsac_uc_class_struct_union_scope
Canonical namecc:class-struct-union-scope
Superclass cc:non-executable-scope
Attributes
:assoc-type
C++ cs::ast_ordinal::UC_ASSOC_TYPE
Python cs.ast_ordinal.UC_ASSOC_TYPE
C csao_uc_assoc_type
cc:type
The class/struct/union type this scope belongs to.
Notes Scope for fields of a class, struct, or union.
CLASS cc:condition-scope
API Representation
C++cs::ast_class::UC_CONDITION_SCOPE
Pythoncs.ast_class.UC_CONDITION_SCOPE
Ccsac_uc_condition_scope
Canonical namecc:condition-scope
Superclass cc:executable-scope
Attributes
:assoc-statement
C++ cs::ast_ordinal::UC_ASSOC_STATEMENT
Python cs.ast_ordinal.UC_ASSOC_STATEMENT
C csao_uc_assoc_statement
cc:statement
The associated if, switch, while, or for statement in which the condition declaration appears.
Notes Scope of a C++ condition that is an initialized declaration for an if, switch, for, or while statement.
CLASS cc:enum-scope
API Representation
C++cs::ast_class::UC_ENUM_SCOPE
Pythoncs.ast_class.UC_ENUM_SCOPE
Ccsac_uc_enum_scope
Canonical namecc:enum-scope
Superclass cc:non-executable-scope
Attributes
:assoc-type
C++ cs::ast_ordinal::UC_ASSOC_TYPE
Python cs.ast_ordinal.UC_ASSOC_TYPE
C csao_uc_assoc_type
cc:type
The enum type this scope belongs to.
Notes Scope for enumerators.
CLASS cc:function-scope
API Representation
C++cs::ast_class::UC_FUNCTION_SCOPE
Pythoncs.ast_class.UC_FUNCTION_SCOPE
Ccsac_uc_function_scope
Canonical namecc:function-scope
Superclass cc:executable-scope
Children
:this-param
C++ cs::ast_ordinal::UC_THIS_PARAM
Python cs.ast_ordinal.UC_THIS_PARAM
C csao_uc_this_param
cc:variable
If the scope is for a C++ nonstatic member function, this field points to the implicit this parameter. It is unavailable in all other cases.
:parameters
C++ cs::ast_ordinal::UC_PARAMETERS
Python cs.ast_ordinal.UC_PARAMETERS
C csao_uc_parameters
cc:ast-list
List of parameters (cc:variable) of the associated routine, in declaration order.
:ellipsis-param
C++ cs::ast_ordinal::UC_ELLIPSIS_PARAM
Python cs.ast_ordinal.UC_ELLIPSIS_PARAM
C csao_uc_ellipsis_param
cc:variable
When the function signature contains an ellipsis (...), the variable in this field is used to store varargs and is accessed by va_arg() to retrieve them.
:constructor-inits
C++ cs::ast_ordinal::UC_CONSTRUCTOR_INITS
Python cs.ast_ordinal.UC_CONSTRUCTOR_INITS
C csao_uc_constructor_inits
cc:ast-list
List of constructor initializer entries (cc:constructor-init). The list identifies all subobjects and nonstatic data members of the object being initialized by the constructor, or being destroyed by the destructor, arranged in the order in which the initialization or destruction should be performed.
:assoc-block
C++ cs::ast_ordinal::UC_ASSOC_BLOCK
Python cs.ast_ordinal.UC_ASSOC_BLOCK
C csao_uc_assoc_block
cc:statement
unavailable unless this scope has an associated block of statements. The statement is usually a cc:block statement; however, in C++ mode, it can also be an cc:try-block statement, to indicate a function-try-block.
Attributes
:assoc-routine
C++ cs::ast_ordinal::UC_ASSOC_ROUTINE
Python cs.ast_ordinal.UC_ASSOC_ROUTINE
C csao_uc_assoc_routine
cc:routine
The routine associated with this scope.
:return-value-variable
C++ cs::ast_ordinal::UC_RETURN_VALUE_VARIABLE
Python cs.ast_ordinal.UC_RETURN_VALUE_VARIABLE
C csao_uc_return_value_variable
cc:variable
If not unavailable, return value optimization is possible in this routine. That is, the routine returns a class value via a copy constructor, and all return statements return a single nonstatic local variable, namely the variable pointed to by this field. Note that the variable is also on the local variables list of this scope.
Notes Function scope
CLASS cc:namespace
API Representation
C++cs::ast_class::UC_NAMESPACE
Pythoncs.ast_class.UC_NAMESPACE
Ccsac_uc_namespace
Canonical namecc:namespace
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:assoc-scope
C++ cs::ast_ordinal::UC_ASSOC_SCOPE
Python cs.ast_ordinal.UC_ASSOC_SCOPE
C csao_uc_assoc_scope
cc:scope
valid only if is-namespace-alias is false, otherwise equal to 'invalid
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-namespace-alias
C++ cs::ast_ordinal::UC_IS_NAMESPACE_ALIAS
Python cs.ast_ordinal.UC_IS_NAMESPACE_ALIAS
C csao_uc_is_namespace_alias
BOOLEAN
true when the name is a namespace alias.
:is-inline
C++ cs::ast_ordinal::UC_IS_INLINE
Python cs.ast_ordinal.UC_IS_INLINE
C csao_uc_is_inline
BOOLEAN
true when the namespace was declared as an inline namespace.
:assoc-namespace
C++ cs::ast_ordinal::UC_ASSOC_NAMESPACE
Python cs.ast_ordinal.UC_ASSOC_NAMESPACE
C csao_uc_assoc_namespace
cc:namespace
valid only if is-namespace-alias is true, otherwise equal to 'invalid
Notes An explicitly declared namespace.
CLASS cc:using-decl
API Representation
C++cs::ast_class::UC_USING_DECL
Pythoncs.ast_class.UC_USING_DECL
Ccsac_uc_using_decl
Canonical namecc:using-decl
Superclass cc:ast
Children
:attributes
C++ cs::ast_ordinal::UC_ATTRIBUTES
Python cs.ast_ordinal.UC_ATTRIBUTES
C csao_uc_attributes
cc:ast-list
The list of cc:attributes specified on this using-declaration or using-directive.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-using-directive
C++ cs::ast_ordinal::UC_IS_USING_DIRECTIVE
Python cs.ast_ordinal.UC_IS_USING_DIRECTIVE
C csao_uc_is_using_directive
BOOLEAN
true if this is a using-directive and false if it is a using-declaration.
:decl
C++ cs::ast_ordinal::UC_DECL
Python cs.ast_ordinal.UC_DECL
C csao_uc_decl
cc:ast
The entity specified in the using-declaration or using-directive.
:is-class-member
C++ cs::ast_ordinal::UC_IS_CLASS_MEMBER
Python cs.ast_ordinal.UC_IS_CLASS_MEMBER
C csao_uc_is_class_member
BOOLEAN
When csao_uc_is_using_directive is false, this flag is true if this is a class member using-declaration and false if it is a nonmember using-declaration.
:hidden
C++ cs::ast_ordinal::UC_HIDDEN
Python cs.ast_ordinal.UC_HIDDEN
C csao_uc_hidden
BOOLEAN
For class member using-declarations only, true if a base class member brought into a derived class by a using-declaration is subsequently hidden by a declaration in the derived class.
:access-specifier
C++ cs::ast_ordinal::UC_ACCESS_SPECIFIER
Python cs.ast_ordinal.UC_ACCESS_SPECIFIER
C csao_uc_access_specifier
access_specifier
For class member using-declarations only, the adjusted access for the indicated base class member.
Notes A using declaration or directive.
CLASS cc:dynamic-init-none
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_NONE
Pythoncs.ast_class.UC_DYNAMIC_INIT_NONE
Ccsac_uc_dynamic_init_none
Canonical namecc:dynamic-init-none
Superclass cc:dynamic-init
Notes No dynamic initialization.
CLASS cc:dynamic-init-zero
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_ZERO
Pythoncs.ast_class.UC_DYNAMIC_INIT_ZERO
Ccsac_uc_dynamic_init_zero
Canonical namecc:dynamic-init-zero
Superclass cc:dynamic-init
Notes Initialization to zero, or default initialization of a static object.
CLASS cc:dynamic-init-constant
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_CONSTANT
Pythoncs.ast_class.UC_DYNAMIC_INIT_CONSTANT
Ccsac_uc_dynamic_init_constant
Canonical namecc:dynamic-init-constant
Superclass cc:dynamic-init
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The constant initial value.
Notes Dynamic initialization of a simple object to a constant.
CLASS cc:dynamic-init-expression
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_EXPRESSION
Pythoncs.ast_class.UC_DYNAMIC_INIT_EXPRESSION
Ccsac_uc_dynamic_init_expression
Canonical namecc:dynamic-init-expression
Superclass cc:dynamic-init
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression that gives the initial value.
Notes Dynamic initialization of a simple object to an expression.
CLASS cc:dynamic-init-call-returning-class-via-cctor
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_CALL_RETURNING_CLASS_VIA_CCTOR
Pythoncs.ast_class.UC_DYNAMIC_INIT_CALL_RETURNING_CLASS_VIA_CCTOR
Ccsac_uc_dynamic_init_call_returning_class_via_cctor
Canonical namecc:dynamic-init-call-returning-class-via-cctor
Superclass cc:dynamic-init
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The call that returns the initial value via a copy constructor.
Notes Dynamic initialization of a simple object using a call that returns the initial value via a copy constructor.
CLASS cc:dynamic-init-constructor
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_CONSTRUCTOR
Pythoncs.ast_class.UC_DYNAMIC_INIT_CONSTRUCTOR
Ccsac_uc_dynamic_init_constructor
Canonical namecc:dynamic-init-constructor
Superclass cc:dynamic-init
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:ast-list
The arguments (cc:expr).
Attributes
:routine
C++ cs::ast_ordinal::UC_ROUTINE
Python cs.ast_ordinal.UC_ROUTINE
C csao_uc_routine
cc:routine
The constructor to be invoked.
:is-copy-constructor-with-implied-source
C++ cs::ast_ordinal::UC_IS_COPY_CONSTRUCTOR_WITH_IMPLIED_SOURCE
Python cs.ast_ordinal.UC_IS_COPY_CONSTRUCTOR_WITH_IMPLIED_SOURCE
C csao_uc_is_copy_constructor_with_implied_source
BOOLEAN
The constructor is a copy constructor in which the source object to be copied is implied.
Notes Dynamic initialization of a simple object using a constructor call.
CLASS cc:dynamic-init-nonconstant-aggregate
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_NONCONSTANT_AGGREGATE
Pythoncs.ast_class.UC_DYNAMIC_INIT_NONCONSTANT_AGGREGATE
Ccsac_uc_dynamic_init_nonconstant_aggregate
Canonical namecc:dynamic-init-nonconstant-aggregate
Superclass cc:dynamic-init
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The initial value.
Notes Dynamic initialization of a nonconstant aggregate using a list of cc:constants, some of which refer to nonconstants.
CLASS cc:dynamic-init-bitwise-copy
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_BITWISE_COPY
Pythoncs.ast_class.UC_DYNAMIC_INIT_BITWISE_COPY
Ccsac_uc_dynamic_init_bitwise_copy
Canonical namecc:dynamic-init-bitwise-copy
Superclass cc:dynamic-init
Notes Dynamic initialization using bitwise copying.
CLASS cc:dynamic-init-lambda
API Representation
C++cs::ast_class::UC_DYNAMIC_INIT_LAMBDA
Pythoncs.ast_class.UC_DYNAMIC_INIT_LAMBDA
Ccsac_uc_dynamic_init_lambda
Canonical namecc:dynamic-init-lambda
Superclass cc:dynamic-init
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The initial value.
:lambda-expression
C++ cs::ast_ordinal::UC_LAMBDA
Python cs.ast_ordinal.UC_LAMBDA
C csao_uc_lambda
cc:lambda
The actual lambda routine.
Notes Initial value of a lambda object.
CLASS cc:vla-dimension
API Representation
C++cs::ast_class::UC_VLA_DIMENSION
Pythoncs.ast_class.UC_VLA_DIMENSION
Ccsac_uc_vla_dimension
Canonical namecc:vla-dimension
Superclass cc:ast
Children
:dimension-expr
C++ cs::ast_ordinal::UC_DIMENSION_EXPR
Python cs.ast_ordinal.UC_DIMENSION_EXPR
C csao_uc_dimension_expr
cc:expr
Number of elements in the array.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:array
C++ cs::ast_ordinal::UC_ARRAY
Python cs.ast_ordinal.UC_ARRAY
C csao_uc_array
cc:array
The array type associated with this dimension.
Notes The number of elements in a variable length array.
CLASS cc:overriding-virtual-function
API Representation
C++cs::ast_class::UC_OVERRIDING_VIRTUAL_FUNCTION
Pythoncs.ast_class.UC_OVERRIDING_VIRTUAL_FUNCTION
Ccsac_uc_overriding_virtual_function
Canonical namecc:overriding-virtual-function
Superclass cc:ast
Attributes
:overriding-function
C++ cs::ast_ordinal::UC_OVERRIDING_FUNCTION
Python cs.ast_ordinal.UC_OVERRIDING_FUNCTION
C csao_uc_overriding_function
cc:routine
The function that overrides the primary virtual function.
:primary-function
C++ cs::ast_ordinal::UC_PRIMARY_FUNCTION
Python cs.ast_ordinal.UC_PRIMARY_FUNCTION
C csao_uc_primary_function
cc:routine
The virtual function that is overridden.
:base-class
C++ cs::ast_ordinal::UC_BASE_CLASS
Python cs.ast_ordinal.UC_BASE_CLASS
C csao_uc_base_class
cc:base-class
The base class entry, on the csao_uc_base_classes list of the current derived class, identifying the class of which the overriding function is a member; when it is a member of the current derived class, then this field is unavailable.
:return-adjustment-base-class
C++ cs::ast_ordinal::UC_RETURN_ADJUSTMENT_BASE_CLASS
Python cs.ast_ordinal.UC_RETURN_ADJUSTMENT_BASE_CLASS
C csao_uc_return_adjustment_base_class
cc:base-class
When the return types of the overriding and overridden functions are pointer or reference to D and B, respectively (where class D is derived from class B), a base class entry for B on the csao_uc_base_classes list of D. The entry represents the adjustment required on the return. The field is unavailable when no such adjustment is required (i.e., when the return types of the overriding and overridden functions are identical).
Notes A virtual function that is declared in a derived class and that overrides a virtual function declared in a base class.
CLASS cc:base-class-derivation
API Representation
C++cs::ast_class::UC_BASE_CLASS_DERIVATION
Pythoncs.ast_class.UC_BASE_CLASS_DERIVATION
Ccsac_uc_base_class_derivation
Canonical namecc:base-class-derivation
Superclass cc:ast
Attributes
:base-class-list
C++ cs::ast_ordinal::UC_BASE_CLASS_LIST
Python cs.ast_ordinal.UC_BASE_CLASS_LIST
C csao_uc_base_class_list
cc:ast-list
List of steps (cc:base-class) in the derivation of the class.
:direct
C++ cs::ast_ordinal::UC_DIRECT
Python cs.ast_ordinal.UC_DIRECT
C csao_uc_direct
BOOLEAN
true if the associated base class is a direct base class as a result of this derivation.
:preferred
C++ cs::ast_ordinal::UC_PREFERRED
Python cs.ast_ordinal.UC_PREFERRED
C csao_uc_preferred
BOOLEAN
true if this derivation is preferred because it affords better access from the derived class to the base class; when two or more derivations give equal access, the path with no virtual base classes is preferred over one that has a virtual base class, and a direct derivation is preferred over an indirect derivation.
:access
C++ cs::ast_ordinal::UC_ACCESS
Python cs.ast_ordinal.UC_ACCESS
C csao_uc_access
access_specifier
The kind of derivation ( csae_c_as_public, csae_c_as_protected, or csae_c_as_private) specified for the final step of the derivation pointed to by path. This is tantamount to the access specified from the associated base class to the class directly derived from it.
Notes The derivation of a base class.

For a nonvirtual base class, this is the unique derivation. For a virtual base class, it is one of the alternative derivations.

CLASS cc:base-class
API Representation
C++cs::ast_class::UC_BASE_CLASS
Pythoncs.ast_class.UC_BASE_CLASS
Ccsac_uc_base_class
Canonical namecc:base-class
Superclass cc:ast
Children
:attributes
C++ cs::ast_ordinal::UC_ATTRIBUTES
Python cs.ast_ordinal.UC_ATTRIBUTES
C csao_uc_attributes
cc:ast-list
The set of cc:attributes applicable to this base class.
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:class-struct-union
This will never be a union. The cc:class or cc:struct type entry representing a base class of the current derived class. (Unions may not be used as base classes.)
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:derived-class
C++ cs::ast_ordinal::UC_DERIVED_CLASS
Python cs.ast_ordinal.UC_DERIVED_CLASS
C csao_uc_derived_class
cc:class-struct-union
The class derived (directly or indirectly) from this base class on whose csao_uc_base_classes list it appears.
:direct
C++ cs::ast_ordinal::UC_DIRECT
Python cs.ast_ordinal.UC_DIRECT
C csao_uc_direct
BOOLEAN
true if this is a direct base class of csao_uc_derived_class in any of its derivations.
:is-virtual
C++ cs::ast_ordinal::UC_IS_VIRTUAL
Python cs.ast_ordinal.UC_IS_VIRTUAL
C csao_uc_is_virtual
BOOLEAN
true if this is a virtual base class (whether directly or indirectly inherited).
:ambiguous
C++ cs::ast_ordinal::UC_AMBIGUOUS
Python cs.ast_ordinal.UC_AMBIGUOUS
C csao_uc_ambiguous
BOOLEAN
true if a direct cast from csao_uc_derived_class to this base class would be ambiguous because it appears more than once in the derivation.
:is-pack-expansion
C++ cs::ast_ordinal::UC_IS_PACK_EXPANSION
Python cs.ast_ordinal.UC_IS_PACK_EXPANSION
C csao_uc_is_pack_expansion
BOOLEAN
true if this base class is a variadic template pack expansion, i.e., it's followed by "...". */
:shares-virtual-function-info
C++ cs::ast_ordinal::UC_SHARES_VIRTUAL_FUNCTION_INFO
Python cs.ast_ordinal.UC_SHARES_VIRTUAL_FUNCTION_INFO
C csao_uc_shares_virtual_function_info
BOOLEAN
true if a class derived from this base class, either csao_uc_derived_class itself or an intermediate base class (one on the derivation path of this base class), shares its virtual function info with this base class. This flag denotes sharing from the point of view of the base class in reference to a class derived from it; csao_uc_virtual_function_info_base_class, a field of cc:class-struct-union, denotes the sharing from the opposite point of view.
:ignore-during-dependent-lookup
C++ cs::ast_ordinal::UC_IGNORE_DURING_DEPENDENT_LOOKUP
Python cs.ast_ordinal.UC_IGNORE_DURING_DEPENDENT_LOOKUP
C csao_uc_ignore_during_dependent_lookup
BOOLEAN
true if this base class should not be considered when looking up dependent names. This is the case for base classes of instances of a class template where the base class name was specified as a template-dependent name.
:complete-subobject
C++ cs::ast_ordinal::UC_COMPLETE_SUBOBJECT
Python cs.ast_ordinal.UC_COMPLETE_SUBOBJECT
C csao_uc_complete_subobject
BOOLEAN
true if csao_uc_direct is true and the subobject is complete (i.e., may contain data sections for virtual base classes). By default subobjects for direct base classes do not include virtual base class data sections.
:pointer-offset-is-set
C++ cs::ast_ordinal::UC_POINTER_OFFSET_IS_SET
Python cs.ast_ordinal.UC_POINTER_OFFSET_IS_SET
C csao_uc_pointer_offset_is_set
BOOLEAN
true if the csao_uc_pointer_offset field has been set in the course of prior processing. This flag is required to distinguish an initial 0 from an assigned 0. (This flag is required only in cfront layout compatibility mode because the multipass scheme used to emulate cfront's ordering algorithm involves visiting a base class more than once.)
:is-optimized-empty-base
C++ cs::ast_ordinal::UC_IS_OPTIMIZED_EMPTY_BASE
Python cs.ast_ordinal.UC_IS_OPTIMIZED_EMPTY_BASE
C csao_uc_is_optimized_empty_base
BOOLEAN
true if and only if this is a direct empty base that has been optimized (i.e., allocated at the same offset as another subobject).
:offset
C++ cs::ast_ordinal::UC_OFFSET
Python cs.ast_ordinal.UC_OFFSET
C csao_uc_offset
SIZE_T
The byte offset from the start of the current derived class to the data section of this base class.
:data-section-base-class
C++ cs::ast_ordinal::UC_DATA_SECTION_BASE_CLASS
Python cs.ast_ordinal.UC_DATA_SECTION_BASE_CLASS
C csao_uc_data_section_base_class
cc:base-class
If csao_uc_is_virtual is true and the data section for this virtual base class is embedded in the data section reserved for another base class, the latter (which may be direct or indirect, and may have virtual steps in its derivation); unavailable when the data section for the virtual base class is reserved independently (i.e., in csao_uc_derived_class). Only needed when layout compatibility with USL's cfront is required.
:pointer-offset
C++ cs::ast_ordinal::UC_POINTER_OFFSET
Python cs.ast_ordinal.UC_POINTER_OFFSET
C csao_uc_pointer_offset
SIZE_T
If csao_uc_is_virtual is true, the byte offset from the start of csao_uc_derived_class to a pointer to the data section of this virtual base class; otherwise undefined.
:pointer-base-class
C++ cs::ast_ordinal::UC_POINTER_BASE_CLASS
Python cs.ast_ordinal.UC_POINTER_BASE_CLASS
C csao_uc_pointer_base_class
cc:base-class
If csao_uc_is_virtual is true, a another base class (direct or indirect, but without virtual steps in its derivation) of csao_uc_derived_class, the data section of which contains the pointer to the data section for this virtual base class; unavailable if the pointer to the data section for this virtual base class resides in csao_uc_derived_class itself (which is usually the case for direct virtual base classes and sometimes the case for indirect virtual base classes). This field is defined in conjunction with csao_uc_pointer_offset: when csao_uc_pointer_base_class is unavailable csao_uc_pointer_offset specifies the offset of a pointer field in csao_uc_derived_class itself; when csao_uc_pointer_base_class is available, csao_uc_pointer_offset specifies the offset (within csao_uc_derived_class) of a pointer field in the base class pointed to.
:derivation
C++ cs::ast_ordinal::UC_DERIVATION
Python cs.ast_ordinal.UC_DERIVATION
C csao_uc_derivation
cc:ast-list
If csao_uc_is_virtual is false, this list contains a single entry (cc:base-class-derivation) describing the derivation of csao_uc_derived_class from this base class; if csao_uc_is_virtual is true, the list contains entries (cc:base-class-derivation) describing one or more alternative derivations. The list is empty for a dummy base class invented for a projection of a member of a nonreal class into another class, e.g., via a using-declaration.
:overriding-virtual-functions
C++ cs::ast_ordinal::UC_OVERRIDING_VIRTUAL_FUNCTIONS
Python cs.ast_ordinal.UC_OVERRIDING_VIRTUAL_FUNCTIONS
C csao_uc_overriding_virtual_functions
cc:ast-list
A list of entries (cc:overriding-virtual-function) representing functions declared in derived classes that override virtual functions declared in the current base class. These entries are sorted by virtual function number of the routine pointed to by the csao_uc_primary_function field
Notes A base class from which a class is derived (directly or indirectly).
CLASS cc:template
API Representation
C++cs::ast_class::UC_TEMPLATE
Pythoncs.ast_class.UC_TEMPLATE
Ccsac_uc_template
Canonical namecc:template
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:template-parameters
C++ cs::ast_ordinal::UC_TEMPLATE_PARAMETERS
Python cs.ast_ordinal.UC_TEMPLATE_PARAMETERS
C csao_uc_template_parameters
cc:ast-list
The list of template parameters for this template entity (not including enclosing parameters).
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
Notes An occurrence of a template or template template parameter.
CLASS cc:virtual-base-class-constructor-init
API Representation
C++cs::ast_class::UC_VIRTUAL_BASE_CLASS_CONSTRUCTOR_INIT
Pythoncs.ast_class.UC_VIRTUAL_BASE_CLASS_CONSTRUCTOR_INIT
Ccsac_uc_virtual_base_class_constructor_init
Canonical namecc:virtual-base-class-constructor-init
Superclass cc:constructor-init
Attributes
:base-class
C++ cs::ast_ordinal::UC_BASE_CLASS
Python cs.ast_ordinal.UC_BASE_CLASS
C csao_uc_base_class
cc:base-class
The base class to be initialized.
Notes The explicit and default initialization to be applied when a constructor is called to initialize a virtual base class (C++ only).
CLASS cc:direct-base-class-constructor-init
API Representation
C++cs::ast_class::UC_DIRECT_BASE_CLASS_CONSTRUCTOR_INIT
Pythoncs.ast_class.UC_DIRECT_BASE_CLASS_CONSTRUCTOR_INIT
Ccsac_uc_direct_base_class_constructor_init
Canonical namecc:direct-base-class-constructor-init
Superclass cc:constructor-init
Attributes
:base-class
C++ cs::ast_ordinal::UC_BASE_CLASS
Python cs.ast_ordinal.UC_BASE_CLASS
C csao_uc_base_class
cc:base-class
The base class to be initialized.
Notes The explicit and default initialization to be applied when a constructor is called to initialize a non-virtual direct base class (C++ only).
CLASS cc:field-constructor-init
API Representation
C++cs::ast_class::UC_FIELD_CONSTRUCTOR_INIT
Pythoncs.ast_class.UC_FIELD_CONSTRUCTOR_INIT
Ccsac_uc_field_constructor_init
Canonical namecc:field-constructor-init
Superclass cc:constructor-init
Children
:source-expression
C++ cs::ast_ordinal::UC_SOURCE_EXPRESSION
Python cs.ast_ordinal.UC_SOURCE_EXPRESSION
C csao_uc_source_expression
cc:expr
When copying an explicitly specified array (which is currently only possible in GNU C++ mode), the expression that produces that array.
Attributes
:field
C++ cs::ast_ordinal::UC_FIELD
Python cs.ast_ordinal.UC_FIELD
C csao_uc_field
cc:field
The field (nonstatic data member) to be initialized.
Notes The explicit and default initialization to be applied when a constructor is called to initialize a field (C++ only).
CLASS cc:delegation-constructor-init
API Representation
C++cs::ast_class::UC_DELEGATION_CONSTRUCTOR_INIT
Pythoncs.ast_class.UC_DELEGATION_CONSTRUCTOR_INIT
Ccsac_uc_delegation_constructor_init
Canonical namecc:delegation-constructor-init
Superclass cc:constructor-init
Notes Initialization is delegated to another constructor.
CLASS cc:asm-entry
API Representation
C++cs::ast_class::UC_ASM_ENTRY
Pythoncs.ast_class.UC_ASM_ENTRY
Ccsac_uc_asm_entry
Canonical namecc:asm-entry
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
A string representing the argument.
:gnu-operands
C++ cs::ast_ordinal::UC_GNU_OPERANDS
Python cs.ast_ordinal.UC_GNU_OPERANDS
C csao_uc_gnu_operands
cc:ast-list
List of asm operands (cc:asm-operand). Output operands appear before input operands on this list.
:gnu-clobbers
C++ cs::ast_ordinal::UC_GNU_CLOBBERS
Python cs.ast_ordinal.UC_GNU_CLOBBERS
C csao_uc_gnu_clobbers
cc:enum-list
List of registers (named_register) clobbered.
:labels
C++ cs::ast_ordinal::UC_LABELS
Python cs.ast_ordinal.UC_LABELS
C csao_uc_labels
cc:ast-list
List of labels ((cc:label) asm goto.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:gnu-is-volatile
C++ cs::ast_ordinal::UC_GNU_IS_VOLATILE
Python cs.ast_ordinal.UC_GNU_IS_VOLATILE
C csao_uc_gnu_is_volatile
BOOLEAN
asm is marked volatile (not to be reordered).
Notes An asm declaration.
CLASS cc:asm-operand
API Representation
C++cs::ast_class::UC_ASM_OPERAND
Pythoncs.ast_class.UC_ASM_OPERAND
Ccsac_uc_asm_operand
Canonical namecc:asm-operand
Superclass cc:ast
Children
:constraints
C++ cs::ast_ordinal::UC_CONSTRAINTS
Python cs.ast_ordinal.UC_CONSTRAINTS
C csao_uc_constraints
cc:enum-list
Constraints (asm_operand_constraint) on where the operand may appear in order to make it a valid assembly instruction.
:modifiers
C++ cs::ast_ordinal::UC_MODIFIERS
Python cs.ast_ordinal.UC_MODIFIERS
C csao_uc_modifiers
cc:enum-list
Modifiers (asm_operand_modifier) to the constraint, given in the order listed in the documentation for asm_operand_modifier.
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The expression constituting the operand.
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
Notes A C expression operand for an asm instruction. This is a GNU extension.
CLASS cc:attribute
API Representation
C++cs::ast_class::UC_ATTRIBUTE
Pythoncs.ast_class.UC_ATTRIBUTE
Ccsac_uc_attribute
Canonical namecc:attribute
Superclass cc:ast
Children
:name
C++ cs::ast_ordinal::UC_NAME
Python cs.ast_ordinal.UC_NAME
C csao_uc_name
STRING
The attribute name as it appeared in the source. E.g. "aligned" for __attribute((aligned(8))).
:attribute-namespace-name
C++ cs::ast_ordinal::UC_ATTRIBUTE_NAMESPACE_NAME
Python cs.ast_ordinal.UC_ATTRIBUTE_NAMESPACE_NAME
C csao_uc_attribute_namespace_name
STRING
The attribute namespace name as it appeared in the source. E.g., "XYZ" in [[ XYZ::fast ]].
:attribute-arguments
C++ cs::ast_ordinal::UC_ATTRIBUTE_ARGUMENTS
Python cs.ast_ordinal.UC_ATTRIBUTE_ARGUMENTS
C csao_uc_attribute_arguments
cc:ast-list
List of arguments (cc:attribute-arg) of this attribute.
Attributes
:attribute-kind
C++ cs::ast_ordinal::UC_ATTRIBUTE_KIND
Python cs.ast_ordinal.UC_ATTRIBUTE_KIND
C csao_uc_attribute_kind
attribute_kind
The kind of the attribute.
:attribute-family
C++ cs::ast_ordinal::UC_ATTRIBUTE_FAMILY
Python cs.ast_ordinal.UC_ATTRIBUTE_FAMILY
C csao_uc_attribute_family
attribute_family
The kind of construct that was used to express the attribute in the source.
Notes Describing an "attribute" as it appeared in the source.
CLASS cc:attribute-arg-empty
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_EMPTY
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_EMPTY
Ccsac_uc_attribute_arg_empty
Canonical namecc:attribute-arg-empty
Superclass cc:attribute-arg
Notes If an attribute has an empty argument list, e.g. __attribute(( nonnull() )), the csao_uc_attribute_arguments field of the attribute would be a list containing a single entry of this class.
CLASS cc:attribute-arg-raw-token
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_RAW_TOKEN
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_RAW_TOKEN
Ccsac_uc_attribute_arg_raw_token
Canonical namecc:attribute-arg-raw-token
Superclass cc:attribute-arg
Children
:token
C++ cs::ast_ordinal::UC_TOKEN
Python cs.ast_ordinal.UC_TOKEN
C csao_uc_token
BYTES
The character sequence forming the argument token.
Notes Raw tokens are used for unrecognized attributes in particular, and can include commas. E.g., (z, =) could be represented with three raw tokens: "z", "," and "=". A sequence of raw tokens is terminated
CLASS cc:attribute-arg-token
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_TOKEN
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_TOKEN
Ccsac_uc_attribute_arg_token
Canonical namecc:attribute-arg-token
Superclass cc:attribute-arg
Children
:token
C++ cs::ast_ordinal::UC_TOKEN
Python cs.ast_ordinal.UC_TOKEN
C csao_uc_token
BYTES
The character sequence forming the argument token.
Notes A single token argument. E.g., (z, =) could be represented with two tokens: "z" and "=".
CLASS cc:attribute-arg-constant
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_CONSTANT
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_CONSTANT
Ccsac_uc_attribute_arg_constant
Canonical namecc:attribute-arg-constant
Superclass cc:attribute-arg
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The argument constant.
Notes A constant argument.
CLASS cc:attribute-arg-type
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_TYPE
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_TYPE
Ccsac_uc_attribute_arg_type
Canonical namecc:attribute-arg-type
Superclass cc:attribute-arg
Children
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The argument type.
Notes A type argument.
CLASS cc:attribute-arg-expression
API Representation
C++cs::ast_class::UC_ATTRIBUTE_ARG_EXPRESSION
Pythoncs.ast_class.UC_ATTRIBUTE_ARG_EXPRESSION
Ccsac_uc_attribute_arg_expression
Canonical namecc:attribute-arg-expression
Superclass cc:attribute-arg
Children
:expr
C++ cs::ast_ordinal::UC_EXPR
Python cs.ast_ordinal.UC_EXPR
C csao_uc_expr
cc:expr
The argument expression.
Notes An expression argument.
CLASS cc:template-arg-type
API Representation
C++cs::ast_class::UC_TEMPLATE_ARG_TYPE
Pythoncs.ast_class.UC_TEMPLATE_ARG_TYPE
Ccsac_uc_template_arg_type
Canonical namecc:template-arg-type
Superclass cc:template-arg
Attributes
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The type supplied as the argument.
Notes A type template argument.
CLASS cc:template-arg-nontype
API Representation
C++cs::ast_class::UC_TEMPLATE_ARG_NONTYPE
Pythoncs.ast_class.UC_TEMPLATE_ARG_NONTYPE
Ccsac_uc_template_arg_nontype
Canonical namecc:template-arg-nontype
Superclass cc:template-arg
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The constant supplied as the argument. unavailable for an unspecified template argument at the end of a list that begins with explicit template arguments.
Notes A nontype template argument.
CLASS cc:template-arg-template
API Representation
C++cs::ast_class::UC_TEMPLATE_ARG_TEMPLATE
Pythoncs.ast_class.UC_TEMPLATE_ARG_TEMPLATE
Ccsac_uc_template_arg_template
Canonical namecc:template-arg-template
Superclass cc:template-arg
Attributes
:template
C++ cs::ast_ordinal::UC_TEMPLATE
Python cs.ast_ordinal.UC_TEMPLATE
C csao_uc_template
cc:template
The template supplied as the argument.
Notes A template template argument.
CLASS cc:template-arg-start-of-pack-expansion
API Representation
C++cs::ast_class::UC_TEMPLATE_ARG_START_OF_PACK_EXPANSION
Pythoncs.ast_class.UC_TEMPLATE_ARG_START_OF_PACK_EXPANSION
Ccsac_uc_template_arg_start_of_pack_expansion
Canonical namecc:template-arg-start-of-pack-expansion
Superclass cc:template-arg
Notes Marks the beginning of a (possibly empty) sequence of template arguments provided for a parameter pack.
CLASS cc:template-parameter-type
API Representation
C++cs::ast_class::UC_TEMPLATE_PARAMETER_TYPE
Pythoncs.ast_class.UC_TEMPLATE_PARAMETER_TYPE
Ccsac_uc_template_parameter_type
Canonical namecc:template-parameter-type
Superclass cc:template-parameter
Children
:type
C++ cs::ast_ordinal::UC_TYPE
Python cs.ast_ordinal.UC_TYPE
C csao_uc_type
cc:type
The placeholder type representing the parameter.
Notes A type template parameter.
CLASS cc:template-parameter-nontype
API Representation
C++cs::ast_class::UC_TEMPLATE_PARAMETER_NONTYPE
Pythoncs.ast_class.UC_TEMPLATE_PARAMETER_NONTYPE
Ccsac_uc_template_parameter_nontype
Canonical namecc:template-parameter-nontype
Superclass cc:template-parameter
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The placeholder constant representing the parameter.
Notes A nontype template parameter.
CLASS cc:template-parameter-template
API Representation
C++cs::ast_class::UC_TEMPLATE_PARAMETER_TEMPLATE
Pythoncs.ast_class.UC_TEMPLATE_PARAMETER_TEMPLATE
Ccsac_uc_template_parameter_template
Canonical namecc:template-parameter-template
Superclass cc:template-parameter
Children
:template
C++ cs::ast_ordinal::UC_TEMPLATE
Python cs.ast_ordinal.UC_TEMPLATE
C csao_uc_template
cc:template
The placeholder template representing the parameter.
Notes A template template parameter.
CLASS cc:pragma-printf-args
API Representation
C++cs::ast_class::UC_PRAGMA_PRINTF_ARGS
Pythoncs.ast_class.UC_PRAGMA_PRINTF_ARGS
Ccsac_uc_pragma_printf_args
Canonical namecc:pragma-printf-args
Superclass cc:pragma
Notes #pragma __printf_args
CLASS cc:pragma-scanf-args
API Representation
C++cs::ast_class::UC_PRAGMA_SCANF_ARGS
Pythoncs.ast_class.UC_PRAGMA_SCANF_ARGS
Ccsac_uc_pragma_scanf_args
Canonical namecc:pragma-scanf-args
Superclass cc:pragma
Notes #pragma __scanf_args
CLASS cc:pragma-pack
API Representation
C++cs::ast_class::UC_PRAGMA_PACK
Pythoncs.ast_class.UC_PRAGMA_PACK
Ccsac_uc_pragma_pack
Canonical namecc:pragma-pack
Superclass cc:pragma
Notes One of:
  • #pragma pack(n)
  • #pragma pack()
  • #pragma pack(push {, name} {, n})
  • #pragma pack(pop {, name} {, n})
  • #pragma pack(show)
  • #pragma pack n (Renesas only)
CLASS cc:pragma-ident
API Representation
C++cs::ast_class::UC_PRAGMA_IDENT
Pythoncs.ast_class.UC_PRAGMA_IDENT
Ccsac_uc_pragma_ident
Canonical namecc:pragma-ident
Superclass cc:pragma
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The string for the ident.
Notes #pragma ident string
CLASS cc:pragma-weak
API Representation
C++cs::ast_class::UC_PRAGMA_WEAK
Pythoncs.ast_class.UC_PRAGMA_WEAK
Ccsac_uc_pragma_weak
Canonical namecc:pragma-weak
Superclass cc:pragma
Notes #pragma weak
CLASS cc:pragma-once
API Representation
C++cs::ast_class::UC_PRAGMA_ONCE
Pythoncs.ast_class.UC_PRAGMA_ONCE
Ccsac_uc_pragma_once
Canonical namecc:pragma-once
Superclass cc:pragma
Notes #pragma once
CLASS cc:pragma-hdrstop
API Representation
C++cs::ast_class::UC_PRAGMA_HDRSTOP
Pythoncs.ast_class.UC_PRAGMA_HDRSTOP
Ccsac_uc_pragma_hdrstop
Canonical namecc:pragma-hdrstop
Superclass cc:pragma
Notes A PCH control pragma.
CLASS cc:pragma-no-pch
API Representation
C++cs::ast_class::UC_PRAGMA_NO_PCH
Pythoncs.ast_class.UC_PRAGMA_NO_PCH
Ccsac_uc_pragma_no_pch
Canonical namecc:pragma-no-pch
Superclass cc:pragma
Notes A PCH control pragma.
CLASS cc:pragma-define-type-info
API Representation
C++cs::ast_class::UC_PRAGMA_DEFINE_TYPE_INFO
Pythoncs.ast_class.UC_PRAGMA_DEFINE_TYPE_INFO
Ccsac_uc_pragma_define_type_info
Canonical namecc:pragma-define-type-info
Superclass cc:pragma
Notes #pragma define_type_info
CLASS cc:pragma-stdc
API Representation
C++cs::ast_class::UC_PRAGMA_STDC
Pythoncs.ast_class.UC_PRAGMA_STDC
Ccsac_uc_pragma_stdc
Canonical namecc:pragma-stdc
Superclass cc:pragma
Notes A predefined C99 STDC pragma.
CLASS cc:pragma-redefine-extname
API Representation
C++cs::ast_class::UC_PRAGMA_REDEFINE_EXTNAME
Pythoncs.ast_class.UC_PRAGMA_REDEFINE_EXTNAME
Ccsac_uc_pragma_redefine_extname
Canonical namecc:pragma-redefine-extname
Superclass cc:pragma
Notes #pragma redefine_extname oldname newname
CLASS cc:pragma-gcc
API Representation
C++cs::ast_class::UC_PRAGMA_GCC
Pythoncs.ast_class.UC_PRAGMA_GCC
Ccsac_uc_pragma_gcc
Canonical namecc:pragma-gcc
Superclass cc:pragma
Notes A #pragma GCC ... construct.
CLASS cc:pragma-diag-suppress
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_SUPPRESS
Pythoncs.ast_class.UC_PRAGMA_DIAG_SUPPRESS
Ccsac_uc_pragma_diag_suppress
Canonical namecc:pragma-diag-suppress
Superclass cc:pragma
Notes #pragma diag_suppress [=] arg, arg,...
CLASS cc:pragma-diag-remark
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_REMARK
Pythoncs.ast_class.UC_PRAGMA_DIAG_REMARK
Ccsac_uc_pragma_diag_remark
Canonical namecc:pragma-diag-remark
Superclass cc:pragma
Notes #pragma diag_remark [=] arg, arg,...
CLASS cc:pragma-diag-warning
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_WARNING
Pythoncs.ast_class.UC_PRAGMA_DIAG_WARNING
Ccsac_uc_pragma_diag_warning
Canonical namecc:pragma-diag-warning
Superclass cc:pragma
Notes #pragma diag_warning [=] arg, arg,...
CLASS cc:pragma-diag-error
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_ERROR
Pythoncs.ast_class.UC_PRAGMA_DIAG_ERROR
Ccsac_uc_pragma_diag_error
Canonical namecc:pragma-diag-error
Superclass cc:pragma
Notes #pragma diag_error [=] arg, arg,...
CLASS cc:pragma-diag-once
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_ONCE
Pythoncs.ast_class.UC_PRAGMA_DIAG_ONCE
Ccsac_uc_pragma_diag_once
Canonical namecc:pragma-diag-once
Superclass cc:pragma
Notes #pragma diag_once [=] arg, arg,...
CLASS cc:pragma-diag-default
API Representation
C++cs::ast_class::UC_PRAGMA_DIAG_DEFAULT
Pythoncs.ast_class.UC_PRAGMA_DIAG_DEFAULT
Ccsac_uc_pragma_diag_default
Canonical namecc:pragma-diag-default
Superclass cc:pragma
Notes #pragma diag_default [=] arg, arg,...
CLASS cc:pragma-diagnostic
API Representation
C++cs::ast_class::UC_PRAGMA_DIAGNOSTIC
Pythoncs.ast_class.UC_PRAGMA_DIAGNOSTIC
Ccsac_uc_pragma_diagnostic
Canonical namecc:pragma-diagnostic
Superclass cc:pragma
Notes #pragma diagnostic push|pop
CLASS cc:pragma-push-macro
API Representation
C++cs::ast_class::UC_PRAGMA_PUSH_MACRO
Pythoncs.ast_class.UC_PRAGMA_PUSH_MACRO
Ccsac_uc_pragma_push_macro
Canonical namecc:pragma-push-macro
Superclass cc:pragma
Notes #pragma push_macro("identifier")
CLASS cc:pragma-pop-macro
API Representation
C++cs::ast_class::UC_PRAGMA_POP_MACRO
Pythoncs.ast_class.UC_PRAGMA_POP_MACRO
Ccsac_uc_pragma_pop_macro
Canonical namecc:pragma-pop-macro
Superclass cc:pragma
Notes #pragma pop_macro("identifier")
CLASS cc:pragma-start-map-region
API Representation
C++cs::ast_class::UC_PRAGMA_START_MAP_REGION
Pythoncs.ast_class.UC_PRAGMA_START_MAP_REGION
Ccsac_uc_pragma_start_map_region
Canonical namecc:pragma-start-map-region
Superclass cc:pragma
Notes #pragma start_map_region ([string-literal]) (Microsoft extension).
CLASS cc:pragma-stop-map-region
API Representation
C++cs::ast_class::UC_PRAGMA_STOP_MAP_REGION
Pythoncs.ast_class.UC_PRAGMA_STOP_MAP_REGION
Ccsac_uc_pragma_stop_map_region
Canonical namecc:pragma-stop-map-region
Superclass cc:pragma
Notes #pragma stop_map_region (Microsoft extension).
CLASS cc:pragma-setlocale
API Representation
C++cs::ast_class::UC_PRAGMA_SETLOCALE
Pythoncs.ast_class.UC_PRAGMA_SETLOCALE
Ccsac_uc_pragma_setlocale
Canonical namecc:pragma-setlocale
Superclass cc:pragma
Notes #pragma setlocale("locale name")
CLASS cc:pragma-comment
API Representation
C++cs::ast_class::UC_PRAGMA_COMMENT
Pythoncs.ast_class.UC_PRAGMA_COMMENT
Ccsac_uc_pragma_comment
Canonical namecc:pragma-comment
Superclass cc:pragma
Notes #pragma comment(commenttype [, "str"]) (Microsoft extension).
CLASS cc:pragma-conform
API Representation
C++cs::ast_class::UC_PRAGMA_CONFORM
Pythoncs.ast_class.UC_PRAGMA_CONFORM
Ccsac_uc_pragma_conform
Canonical namecc:pragma-conform
Superclass cc:pragma
Notes One of:
  • #pragma conform(forScope, on|off)
  • #pragma conform(forScope, show)
  • #pragma conform(forScope, push|pop [ , identifier [ , on|off ] ] )
CLASS cc:pragma-include-alias
API Representation
C++cs::ast_class::UC_PRAGMA_INCLUDE_ALIAS
Pythoncs.ast_class.UC_PRAGMA_INCLUDE_ALIAS
Ccsac_uc_pragma_include_alias
Canonical namecc:pragma-include-alias
Superclass cc:pragma
Children
:original-filename
C++ cs::ast_ordinal::UC_ORIGINAL_FILENAME
Python cs.ast_ordinal.UC_ORIGINAL_FILENAME
C csao_uc_original_filename
BYTES
The file name that is to be aliased to another name.
:substitute-filename
C++ cs::ast_ordinal::UC_SUBSTITUTE_FILENAME
Python cs.ast_ordinal.UC_SUBSTITUTE_FILENAME
C csao_uc_substitute_filename
BYTES
The file name to be used in place of long_file_name.
Notes One of:
  • #pragma include_alias("long_fname", "short_fname")
  • #pragma include_alias(long_fname, short_fname)
CLASS cc:pragma-asm
API Representation
C++cs::ast_class::UC_PRAGMA_ASM
Pythoncs.ast_class.UC_PRAGMA_ASM
Ccsac_uc_pragma_asm
Canonical namecc:pragma-asm
Superclass cc:pragma
Notes #pragma asm
CLASS cc:pragma-endasm
API Representation
C++cs::ast_class::UC_PRAGMA_ENDASM
Pythoncs.ast_class.UC_PRAGMA_ENDASM
Ccsac_uc_pragma_endasm
Canonical namecc:pragma-endasm
Superclass cc:pragma
Notes #pragma endasm
CLASS cc:pragma-inline-asm
API Representation
C++cs::ast_class::UC_PRAGMA_INLINE_ASM
Pythoncs.ast_class.UC_PRAGMA_INLINE_ASM
Ccsac_uc_pragma_inline_asm
Canonical namecc:pragma-inline-asm
Superclass cc:pragma
Notes A #pragma inlineasm directive.
CLASS cc:pragma-openmp
API Representation
C++cs::ast_class::UC_PRAGMA_OPENMP
Pythoncs.ast_class.UC_PRAGMA_OPENMP
Ccsac_uc_pragma_openmp
Canonical namecc:pragma-openmp
Superclass cc:pragma
Notes A #pragma omp directive.
CLASS cc:macro
API Representation
C++cs::ast_class::UC_MACRO
Pythoncs.ast_class.UC_MACRO
Ccsac_uc_macro
Canonical namecc:macro
Superclass cc:ast
Children
:source-correspondence
C++ cs::ast_ordinal::UC_SOURCE_CORRESPONDENCE
Python cs.ast_ordinal.UC_SOURCE_CORRESPONDENCE
C csao_uc_source_correspondence
cc:source-correspondence
Information on any source entity that corresponds to this entity. unavailable if all fields in the cc:source-correspondence would be false or unavailable (except for the csao_uc_access field, which would be csae_c_as_public).
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:is-undef
C++ cs::ast_ordinal::UC_IS_UNDEF
Python cs.ast_ordinal.UC_IS_UNDEF
C csao_uc_is_undef
BOOLEAN
true for #undef, false for #define.
:is-command-line-definition
C++ cs::ast_ordinal::UC_IS_COMMAND_LINE_DEFINITION
Python cs.ast_ordinal.UC_IS_COMMAND_LINE_DEFINITION
C csao_uc_is_command_line_definition
BOOLEAN
true if this entry is for a macro defined on the command line.
:text
C++ cs::ast_ordinal::UC_TEXT
Python cs.ast_ordinal.UC_TEXT
C csao_uc_text
BYTES
A string representing the text of the macro declaration, starting with the keyword #define or #undef.
Notes Information about a preprocessor macro declaration beginning with #define or #undef.
CLASS cc:switch-case-entry
API Representation
C++cs::ast_class::UC_SWITCH_CASE_ENTRY
Pythoncs.ast_class.UC_SWITCH_CASE_ENTRY
Ccsac_uc_switch_case_entry
Canonical namecc:switch-case-entry
Superclass cc:ast
Children
:constant
C++ cs::ast_ordinal::UC_CONSTANT
Python cs.ast_ordinal.UC_CONSTANT
C csao_uc_constant
cc:constant
The case label constant, unless this entry represents a default case.
:range-end
C++ cs::ast_ordinal::UC_RANGE_END
Python cs.ast_ordinal.UC_RANGE_END
C csao_uc_range_end
cc:constant
The constant representing the end of the range (if this is a GNU C case range).
Attributes
:sfid
C++ cs::ast_ordinal::UC_SFID
Python cs.ast_ordinal.UC_SFID
C csao_uc_sfid
SFID
The source file in which this AST occurs. This corresponds to the API sfileinst (C++) / sfileinst (Python) / cs_sfid (C).
:line
C++ cs::ast_ordinal::UC_LINE
Python cs.ast_ordinal.UC_LINE
C csao_uc_line
UINT32
Line number (in source file) on which this AST occurs. This corresponds to the API line_number (C++) / cs_line (C). In the Python API, line numbers are directly represented as int.
:assoc-statement
C++ cs::ast_ordinal::UC_ASSOC_STATEMENT
Python cs.ast_ordinal.UC_ASSOC_STATEMENT
C csao_uc_assoc_statement
cc:switch-case
The cc:switch-case pointing to this entry.
Notes Describes one case in a switch statement.
CLASS cc:integer-value-32
API Representation
C++cs::ast_class::UC_INTEGER_VALUE_32
Pythoncs.ast_class.UC_INTEGER_VALUE_32
Ccsac_uc_integer_value_32
Canonical namecc:integer-value-32
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
INT32
Notes Signed 32-bit integer.
CLASS cc:uinteger-value-32
API Representation
C++cs::ast_class::UC_UINTEGER_VALUE_32
Pythoncs.ast_class.UC_UINTEGER_VALUE_32
Ccsac_uc_uinteger_value_32
Canonical namecc:uinteger-value-32
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
UINT32
Notes Unsigned 32-bit integer.
CLASS cc:integer-value-64
API Representation
C++cs::ast_class::UC_INTEGER_VALUE_64
Pythoncs.ast_class.UC_INTEGER_VALUE_64
Ccsac_uc_integer_value_64
Canonical namecc:integer-value-64
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
INT64
Notes Signed 64-bit integer.
CLASS cc:uinteger-value-64
API Representation
C++cs::ast_class::UC_UINTEGER_VALUE_64
Pythoncs.ast_class.UC_UINTEGER_VALUE_64
Ccsac_uc_uinteger_value_64
Canonical namecc:uinteger-value-64
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
UINT64
Notes Unsigned 64-bit integer.
CLASS cc:integer-value-128
API Representation
C++cs::ast_class::UC_INTEGER_VALUE_128
Pythoncs.ast_class.UC_INTEGER_VALUE_128
Ccsac_uc_integer_value_128
Canonical namecc:integer-value-128
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
INT128
Notes Signed 128-bit integer.
CLASS cc:uinteger-value-128
API Representation
C++cs::ast_class::UC_UINTEGER_VALUE_128
Pythoncs.ast_class.UC_UINTEGER_VALUE_128
Ccsac_uc_uinteger_value_128
Canonical namecc:uinteger-value-128
Superclass cc:integer-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
UINT128
Notes Unsigned 128-bit integer.
CLASS cc:float-value-32
API Representation
C++cs::ast_class::UC_FLOAT_VALUE_32
Pythoncs.ast_class.UC_FLOAT_VALUE_32
Ccsac_uc_float_value_32
Canonical namecc:float-value-32
Superclass cc:float-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
FLT32
Notes 32-bit float.
CLASS cc:float-value-64
API Representation
C++cs::ast_class::UC_FLOAT_VALUE_64
Pythoncs.ast_class.UC_FLOAT_VALUE_64
Ccsac_uc_float_value_64
Canonical namecc:float-value-64
Superclass cc:float-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
FLT64
Notes 64-bit float.
CLASS cc:float-value-96
API Representation
C++cs::ast_class::UC_FLOAT_VALUE_96
Pythoncs.ast_class.UC_FLOAT_VALUE_96
Ccsac_uc_float_value_96
Canonical namecc:float-value-96
Superclass cc:float-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
FLT96
Notes 96-bit float.
CLASS cc:float-value-128
API Representation
C++cs::ast_class::UC_FLOAT_VALUE_128
Pythoncs.ast_class.UC_FLOAT_VALUE_128
Ccsac_uc_float_value_128
Canonical namecc:float-value-128
Superclass cc:float-literal
Children
:value
C++ cs::ast_ordinal::UC_VALUE
Python cs.ast_ordinal.UC_VALUE
C csao_uc_value
FLT128
Notes 128-bit float.
CLASS cc:ast-list
API Representation
C++cs::ast_class::UC_AST_LIST
Pythoncs.ast_class.UC_AST_LIST
Ccsac_uc_ast_list
Canonical namecc:ast-list
Superclass cc:ast
Children
:1 .. :n
C++, Python, C 1 ..n
UAST
The ASTs in the list, in order.
Notes A list of ASTs (cc:ast).
CLASS cc:enum-list
API Representation
C++cs::ast_class::UC_ENUM_LIST
Pythoncs.ast_class.UC_ENUM_LIST
Ccsac_uc_enum_list
Canonical namecc:enum-list
Superclass cc:ast
Children
:1 .. :n
C++, Python, C 1 ..n
ENUM
The values in the list, in order.
Notes A list of entries from a helper enumeration.
CLASS cc:mfp8
API Representation
C++cs::ast_class::UC_MFP8
Pythoncs.ast_class.UC_MFP8
Ccsac_uc_mfp8
Canonical namecc:mfp8
Superclass cc:type
Notes ARM modal 8-bit floating point type.

Notes

unavailable When a child or attribute has no meaning for a given tree, it is not included in the tree.

The various API implementations handle unavailable fields as follows.

true The "true" setting of a BOOLEAN.

The various API implementations represent this as follows.

false The "false" setting of a BOOLEAN.

The various API implementations represent this as follows.

Implementation dependent. These constructs do not come directly from source code. Rather, the language implies this construct. Such constructs are usually implementation-dependent.
GNU The field or fields of the class will be unavailable if the front end doesn't support this GNU extension.
 

To report problems with this documentation, please visit https://support.codesecure.com/.