Skip to main content

Module resolver

Module resolver 

Source

Structs§

ActivatedCallableArity
ConditionalIncludeProjection
CppScanBinding
EffectiveUsingIndex
MacroBinding
MacroEnvironment
MacroLocalBinding
A local declaration contributed by one structurally known function-like macro.
OrdinaryTypeImport
OrphanedNamespaceScopeIndex
The namespaces C++ parse recovery drops from a file’s tree.
OutOfLineMemberDefinitionOwners
ParsedReplacementBody
A function-like macro replacement parsed inside a sentinel function body.
ProjectUsingIndex
QualifiedOwnerComponents
RecoveredNamespaceRegion
One run of a container’s children that tree-sitter parsed outside the namespaces that really enclose it, with the namespaces that do.
RecoveredRelationalTemplateMemberCall
SourceUsingIndex
TargetSpec
TypeScanKey
VisibilityData
VisibilityIndex
Per-query C++ visibility facts.

Enums§

BooleanGuardExpression
CallArityEvidence
CppClassDeclarationStrength
CppTemplateResolutionError
Why template-argument resolution failed. Definition diagnostics render each mode differently; graph scans only care that the resolution is unproven and match Err(_).
DeclarationConstructorInitializer
How a T var ...; declaration initializes its object.
DesignatedInitializerOwner
Aggregate-owner proof for a structurally recognized designated initializer.
DirectOwnerResolution
EffectiveUsingTarget
EnclosingMemberOwnerResolution
EnumOwnerKind
LexicalCallableValueResolution
LexicalTypeResolution
MacroDefinition
MacroEvent
MacroIncludeProtection
NamespaceValueResolution
OrdinaryMacroReferenceResolution
OrdinaryTypeImportResolution
PreprocessorGuard
RecoveredCReferenceRanges
RecoveredDeclaratorTypeContext
TargetKind
UsingEnumMemberResolution
VisibleMemberResolution

Constants§

MACRO_ENVIRONMENT_CHECKPOINT_STRIDE
How many macro events one checkpoint window may cover.

Functions§

anonymous_aggregate_owner
Resolve an anonymous C aggregate’s generated owner from its declaration range. Anonymous local structs and unions have no type name to enter into the visibility index; declaration extraction gives them a structured class identity keyed by the aggregate node’s exact CST range instead. Matching that range keeps nested aggregates and unrelated generated owners out of the result without inspecting source text.
append_cpp_name_components
argument_children
build_visibility_data
Build the per-root include closure and the declarations each root can see through it.
build_visible_identifier_index
c_offsetof_member_parts
Return the type and member leaves of a C offsetof member designator.
call_arguments_node
The argument list a call-shaped node supplies: f(args), new T(args), T{args} and the member initializer : field(args), whose grammar gives its argument list no field name.
call_arity
callable_preprocessor_context_is_visible
canonical_cpp_scope_components
Return the indexed C++ owner scope without reparsing its rendered name.
cast_expression_type_node
The structured type named by a C-style cast expression.
collapse_owner_candidates
collect_include_closure
constructor_style_local_declaration
constructor_type_node
cpp_alias_declaration_names_function_type
Whether one indexed alias declaration names a function or function-pointer type. The alias name is matched through the declarator field so a function type used by a parameter cannot be mistaken for the alias itself.
cpp_alias_declaration_target_text
Text of the type that a C or C++ alias declaration names, read from the type_definition or alias_declaration node’s type field.
cpp_bind_template_arguments
cpp_callable_arity
cpp_callable_parameter_types
cpp_class_declaration_strength
cpp_field_declaration_names_function_type
Whether one indexed field declaration is a function or function-pointer value. This follows tree-sitter declarator fields and never infers callability from source spelling.
cpp_function_return_type_text
The declared return type text of a C++ function unit, with leading declaration specifiers stripped, e.g. T* for T* operator->().
cpp_global_field_has_internal_linkage
cpp_include_closure_reaches
Whether translation_unit’s unconditional #include closure reaches header, directly or through any chain of headers.
cpp_member_using_declaration_scopes
The base scopes named by member using-declarations for member in one class source range.
cpp_name_component_nodes
cpp_name_for
cpp_namespace_for
cpp_qualified_name_has_scope_suffix
Whether a structured using-declaration scope can name qualified as an ancestor class. The boundary check prevents Base from matching OtherBase while allowing a relative Base spelling to match ns::Base.
cpp_reference_fqn_candidates
cpp_substitute_template_arguments
cpp_substitute_template_term
cpp_template_reference_arguments
cpp_type_name_components
cpp_unify_template_term
declaration_constructor_arity
declaration_constructor_initializer
declaration_is_object_construction_candidate
declaration_mentions_type
declarator_name_node
designated_initializer_owner
Recognize a designated-initializer field and, when possible, resolve its aggregate owner.
enclosing_namespace_context
extract_variable_name
field_declared_binding
field_declared_type_binding
field_initializer_constructs_target
first_type_child
function_terminal_node
Return the terminal identifier represented by a callable or type callee.
guard_requirements_hold_at_reference
has_ancestor_kind
infer_cpp_initializer_binding
infer_cpp_initializer_type
is_c_offsetof_member_node
Whether node is the member leaf of an offsetof_expression, including a malformed type operand. Callers use this guard to prevent the ordinary field-name heuristics from guessing an owner after structured resolution has failed.
is_c_sizeof_expression_type_candidate
Whether tree-sitter parsed the operand of C sizeof(T) as an expression identifier even though T may denote a typedef.
is_c_source_file
Whether file is proven to use plain-C source semantics.
is_call_callee_node
Whether node is part of a call’s callee expression, walking only through the grammar wrappers that can structurally contain that callee.
is_cpp_template_argument_type_leaf
Whether node is the direct structured type payload of a template argument. This role remains meaningful even when a surrounding expression is below tree-sitter recovery, because both the template_argument_list and the type_descriptor retain their named fields.
is_declaration_name
is_declarator_node
is_globally_qualified_cpp_name
is_nested_type_node
True when node is a component of a larger structured type node whose outer range is the single reference surfaced to callers.
is_ordinary_macro_reference_node
is_parameter_type_reference
is_recovered_qualified_friend_class_type_reference
Whether tree-sitter recovered a qualified friend-class type as an ordinary declaration’s declarator inside a malformed class body.
is_type_alias
is_type_shaped_template_argument_name
Whether node is a template argument name that tree-sitter spelled with type syntax.
lexical_component_tiers
matches_kind_for_lookup
merge_preprocessor_guards
name_matches_callable
name_matches_terminal
name_mentions
normalize_cpp_reference_text
normalize_reference_name
normalize_type_text
out_of_line_member_definition_owner
parameter_belongs_to_callable_scope
Whether a parameter declaration belongs to the callable scope whose body can contain references to it.
precise_parent_of
preprocessor_conditional_family_range
The byte range of the #if/#elif/#else chain that encloses the smallest node covering [start_byte, end_byte), or None when nothing there is conditional.
preprocessor_guard_environment
qualified_name_has_concrete_scope_separators
True when each structured qualifier on the callable-name path has a real :: token. A macro-prefixed return type can make tree-sitter insert a zero-width missing separator and parse TYPE Result<T> method() as the false qualified declarator Result<T>::method.
qualified_owner_components
recovered_c_new_expression_argument_at
The recovered C value covering one focused source range, starting from any node within the malformed new-expression.
recovered_c_new_expression_arguments
Recover the two ordinary C values that the C++ grammar folds into one new_expression for callee(new, trailing).
recovered_macro_decorated_declarator_type
Recognize a real type displaced into a qualified declarator by parser recovery.
recovered_macro_decorated_type_node
Return the declaration/function type displaced by a macro-shaped qualified declarator, together with the enclosing declaration context. Callers use the macro scope only as structural admission evidence; the returned node is the real type reference to resolve and record.
recovered_relational_template_member_call
Recover receiver.member<argument>(call_arguments) when tree-sitter chose nested relational expressions instead of a template_method call.
reference_matches_unit
reference_uses_c_semantics
Whether a reference written in file reads C++ source with C semantics.
resolve_declaring_callable_owner
Resolve the declaring owner of a callable after applying a member using <Base>::<member>; declaration to one exact call arity.
resolve_declaring_member_owner
resolve_namespace_value
same_logical_symbol
same_symbol
same_visible_global_field_symbol
same_visible_symbol
signature_arity
terminal_name
type_owner_of
Like precise_parent_of, but drops module (namespace) parents. A namespace is a scope, not a type or receiver, so namespace-scoped functions and constants resolve as free functions and globals rather than members.
type_reference_hit_node
unique_macro_replacement_type_candidate
Resolve a structured type spelling from an object-like macro replacement when definition-site source order has no answer.
visible_owner_from_member_name

Type Aliases§

MacroEventCell
OrdinaryTypeImportCell