// generated by codegen, do not edit // from ../shared/tree-sitter-extractor/src/generator/prefix.dbscheme /*- Files and folders -*/ /** * The location of an element. * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `file`. * For more information, see * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ locations_default( unique int id: @location_default, int file: @file ref, int beginLine: int ref, int beginColumn: int ref, int endLine: int ref, int endColumn: int ref ); files( unique int id: @file, string name: string ref ); folders( unique int id: @folder, string name: string ref ); @container = @file | @folder containerparent( int parent: @container ref, unique int child: @container ref ); /*- Empty location -*/ empty_location( int location: @location_default ref ); /*- Source location prefix -*/ /** * The source location of the snapshot. */ sourceLocationPrefix(string prefix : string ref); /*- Diagnostic messages -*/ diagnostics( unique int id: @diagnostic, int severity: int ref, string error_tag: string ref, string error_message: string ref, string full_error_message: string ref, int location: @location_default ref ); /*- Diagnostic messages: severity -*/ case @diagnostic.severity of 10 = @diagnostic_debug | 20 = @diagnostic_info | 30 = @diagnostic_warning | 40 = @diagnostic_error ; /*- YAML -*/ #keyset[parent, idx] yaml (unique int id: @yaml_node, int kind: int ref, int parent: @yaml_node_parent ref, int idx: int ref, string tag: string ref, string tostring: string ref); case @yaml_node.kind of 0 = @yaml_scalar_node | 1 = @yaml_mapping_node | 2 = @yaml_sequence_node | 3 = @yaml_alias_node ; @yaml_collection_node = @yaml_mapping_node | @yaml_sequence_node; @yaml_node_parent = @yaml_collection_node | @file; yaml_anchors (unique int node: @yaml_node ref, string anchor: string ref); yaml_aliases (unique int alias: @yaml_alias_node ref, string target: string ref); yaml_scalars (unique int scalar: @yaml_scalar_node ref, int style: int ref, string value: string ref); yaml_errors (unique int id: @yaml_error, string message: string ref); yaml_locations(unique int locatable: @yaml_locatable ref, int location: @location_default ref); @yaml_locatable = @yaml_node | @yaml_error; // from prefix.dbscheme #keyset[id] locatable_locations( int id: @locatable ref, int location: @location_default ref ); // from schema.py @element = @locatable | @unextracted ; @locatable = @ast_node ; @unextracted = @missing | @unimplemented ; @ast_node = @declaration | @expr | @generic_arg_list | @label | @match_arm | @pat | @path | @record_expr_field | @record_pat_field | @stmt | @type_ref ; @missing = @missing_expr | @missing_pat ; @unimplemented = @generic_arg_list | @path | @type_ref | @unimplemented_declaration ; @declaration = @function | @module | @unimplemented_declaration ; @expr = @array_expr | @asm_expr | @await_expr | @become_expr | @binary_expr | @block_expr_base | @box_expr | @break_expr | @call_expr | @cast_expr | @closure_expr | @const_expr | @continue_expr | @field_expr | @if_expr | @index_expr | @let_expr | @literal_expr | @loop_expr | @match_expr | @method_call_expr | @missing_expr | @offset_of_expr | @path_expr | @prefix_expr | @range_expr | @record_expr | @ref_expr | @return_expr | @tuple_expr | @underscore_expr | @yeet_expr | @yield_expr ; generic_arg_lists( unique int id: @generic_arg_list ); labels( unique int id: @label, string name: string ref ); match_arms( unique int id: @match_arm, int pat: @pat ref, int expr: @expr ref ); #keyset[id] match_arm_guards( int id: @match_arm ref, int guard: @expr ref ); @pat = @box_pat | @const_block_pat | @ident_pat | @literal_pat | @missing_pat | @or_pat | @path_pat | @range_pat | @record_pat | @ref_pat | @slice_pat | @tuple_pat | @tuple_struct_pat | @wildcard_pat ; paths( unique int id: @path ); record_expr_fields( unique int id: @record_expr_field, string name: string ref, int expr: @expr ref ); record_pat_fields( unique int id: @record_pat_field, string name: string ref, int pat: @pat ref ); @stmt = @expr_stmt | @item_stmt | @let_stmt ; type_refs( unique int id: @type_ref ); @array_expr = @element_list_expr | @repeat_expr ; asm_exprs( unique int id: @asm_expr, int expr: @expr ref ); await_exprs( unique int id: @await_expr, int expr: @expr ref ); become_exprs( unique int id: @become_expr, int expr: @expr ref ); binary_exprs( unique int id: @binary_expr, int lhs: @expr ref, int rhs: @expr ref ); #keyset[id] binary_expr_ops( int id: @binary_expr ref, string op: string ref ); @block_expr_base = @async_block_expr | @block_expr | @unsafe_block_expr ; #keyset[id, index] block_expr_base_statements( int id: @block_expr_base ref, int index: int ref, int statement: @stmt ref ); #keyset[id] block_expr_base_tails( int id: @block_expr_base ref, int tail: @expr ref ); box_exprs( unique int id: @box_expr, int expr: @expr ref ); box_pats( unique int id: @box_pat, int inner: @pat ref ); break_exprs( unique int id: @break_expr ); #keyset[id] break_expr_exprs( int id: @break_expr ref, int expr: @expr ref ); #keyset[id] break_expr_labels( int id: @break_expr ref, int label: @label ref ); call_exprs( unique int id: @call_expr, int callee: @expr ref ); #keyset[id, index] call_expr_args( int id: @call_expr ref, int index: int ref, int arg: @expr ref ); #keyset[id] call_expr_is_assignee_expr( int id: @call_expr ref ); cast_exprs( unique int id: @cast_expr, int expr: @expr ref, int type_: @type_ref ref ); closure_exprs( unique int id: @closure_expr, int body: @expr ref, string closure_kind: string ref ); #keyset[id, index] closure_expr_args( int id: @closure_expr ref, int index: int ref, int arg: @pat ref ); #keyset[id, index] closure_expr_arg_types( int id: @closure_expr ref, int index: int ref, int arg_type: @type_ref ref ); #keyset[id] closure_expr_ret_types( int id: @closure_expr ref, int ret_type: @type_ref ref ); #keyset[id] closure_expr_is_move( int id: @closure_expr ref ); const_block_pats( unique int id: @const_block_pat, int expr: @expr ref ); const_exprs( unique int id: @const_expr, int expr: @expr ref ); continue_exprs( unique int id: @continue_expr ); #keyset[id] continue_expr_labels( int id: @continue_expr ref, int label: @label ref ); expr_stmts( unique int id: @expr_stmt, int expr: @expr ref ); #keyset[id] expr_stmt_has_semicolon( int id: @expr_stmt ref ); field_exprs( unique int id: @field_expr, int expr: @expr ref, string name: string ref ); functions( unique int id: @function, string name: string ref, int body: @expr ref ); ident_pats( unique int id: @ident_pat, string binding_id: string ref ); #keyset[id] ident_pat_subpats( int id: @ident_pat ref, int subpat: @pat ref ); if_exprs( unique int id: @if_expr, int condition: @expr ref, int then: @expr ref ); #keyset[id] if_expr_elses( int id: @if_expr ref, int else: @expr ref ); index_exprs( unique int id: @index_expr, int base: @expr ref, int index: @expr ref ); #keyset[id] index_expr_is_assignee_expr( int id: @index_expr ref ); item_stmts( unique int id: @item_stmt ); let_exprs( unique int id: @let_expr, int pat: @pat ref, int expr: @expr ref ); let_stmts( unique int id: @let_stmt, int pat: @pat ref ); #keyset[id] let_stmt_types( int id: @let_stmt ref, int type_: @type_ref ref ); #keyset[id] let_stmt_initializers( int id: @let_stmt ref, int initializer: @expr ref ); #keyset[id] let_stmt_elses( int id: @let_stmt ref, int else: @expr ref ); literal_exprs( unique int id: @literal_expr ); literal_pats( unique int id: @literal_pat, int expr: @expr ref ); loop_exprs( unique int id: @loop_expr, int body: @expr ref ); #keyset[id] loop_expr_labels( int id: @loop_expr ref, int label: @label ref ); match_exprs( unique int id: @match_expr, int expr: @expr ref ); #keyset[id, index] match_expr_branches( int id: @match_expr ref, int index: int ref, int branch: @match_arm ref ); method_call_exprs( unique int id: @method_call_expr, int receiver: @expr ref, string method_name: string ref ); #keyset[id, index] method_call_expr_args( int id: @method_call_expr ref, int index: int ref, int arg: @expr ref ); #keyset[id] method_call_expr_generic_args( int id: @method_call_expr ref, int generic_args: @generic_arg_list ref ); missing_exprs( unique int id: @missing_expr ); missing_pats( unique int id: @missing_pat ); modules( unique int id: @module ); #keyset[id, index] module_declarations( int id: @module ref, int index: int ref, int declaration: @declaration ref ); offset_of_exprs( unique int id: @offset_of_expr, int container: @type_ref ref ); #keyset[id, index] offset_of_expr_fields( int id: @offset_of_expr ref, int index: int ref, string field: string ref ); or_pats( unique int id: @or_pat ); #keyset[id, index] or_pat_args( int id: @or_pat ref, int index: int ref, int arg: @pat ref ); path_exprs( unique int id: @path_expr, int path: @path ref ); path_pats( unique int id: @path_pat, int path: @path ref ); prefix_exprs( unique int id: @prefix_expr, int expr: @expr ref, string op: string ref ); range_exprs( unique int id: @range_expr ); #keyset[id] range_expr_lhs( int id: @range_expr ref, int lhs: @expr ref ); #keyset[id] range_expr_rhs( int id: @range_expr ref, int rhs: @expr ref ); #keyset[id] range_expr_is_inclusive( int id: @range_expr ref ); range_pats( unique int id: @range_pat ); #keyset[id] range_pat_starts( int id: @range_pat ref, int start: @pat ref ); #keyset[id] range_pat_ends( int id: @range_pat ref, int end: @pat ref ); record_exprs( unique int id: @record_expr ); #keyset[id] record_expr_paths( int id: @record_expr ref, int path: @path ref ); #keyset[id, index] record_expr_flds( int id: @record_expr ref, int index: int ref, int fld: @record_expr_field ref ); #keyset[id] record_expr_spreads( int id: @record_expr ref, int spread: @expr ref ); #keyset[id] record_expr_has_ellipsis( int id: @record_expr ref ); #keyset[id] record_expr_is_assignee_expr( int id: @record_expr ref ); record_pats( unique int id: @record_pat ); #keyset[id] record_pat_paths( int id: @record_pat ref, int path: @path ref ); #keyset[id, index] record_pat_flds( int id: @record_pat ref, int index: int ref, int fld: @record_pat_field ref ); #keyset[id] record_pat_has_ellipsis( int id: @record_pat ref ); ref_exprs( unique int id: @ref_expr, int expr: @expr ref ); #keyset[id] ref_expr_is_raw( int id: @ref_expr ref ); #keyset[id] ref_expr_is_mut( int id: @ref_expr ref ); ref_pats( unique int id: @ref_pat, int pat: @pat ref ); #keyset[id] ref_pat_is_mut( int id: @ref_pat ref ); return_exprs( unique int id: @return_expr ); #keyset[id] return_expr_exprs( int id: @return_expr ref, int expr: @expr ref ); slice_pats( unique int id: @slice_pat ); #keyset[id, index] slice_pat_prefixes( int id: @slice_pat ref, int index: int ref, int prefix: @pat ref ); #keyset[id] slice_pat_slice( int id: @slice_pat ref, int slice: @pat ref ); #keyset[id, index] slice_pat_suffixes( int id: @slice_pat ref, int index: int ref, int suffix: @pat ref ); tuple_exprs( unique int id: @tuple_expr ); #keyset[id, index] tuple_expr_exprs( int id: @tuple_expr ref, int index: int ref, int expr: @expr ref ); #keyset[id] tuple_expr_is_assignee_expr( int id: @tuple_expr ref ); tuple_pats( unique int id: @tuple_pat ); #keyset[id, index] tuple_pat_args( int id: @tuple_pat ref, int index: int ref, int arg: @pat ref ); #keyset[id] tuple_pat_ellipsis_indices( int id: @tuple_pat ref, int ellipsis_index: int ref ); tuple_struct_pats( unique int id: @tuple_struct_pat ); #keyset[id] tuple_struct_pat_paths( int id: @tuple_struct_pat ref, int path: @path ref ); #keyset[id, index] tuple_struct_pat_args( int id: @tuple_struct_pat ref, int index: int ref, int arg: @pat ref ); #keyset[id] tuple_struct_pat_ellipsis_indices( int id: @tuple_struct_pat ref, int ellipsis_index: int ref ); underscore_exprs( unique int id: @underscore_expr ); unimplemented_declarations( unique int id: @unimplemented_declaration ); wildcard_pats( unique int id: @wildcard_pat ); yeet_exprs( unique int id: @yeet_expr ); #keyset[id] yeet_expr_exprs( int id: @yeet_expr ref, int expr: @expr ref ); yield_exprs( unique int id: @yield_expr ); #keyset[id] yield_expr_exprs( int id: @yield_expr ref, int expr: @expr ref ); async_block_exprs( unique int id: @async_block_expr ); block_exprs( unique int id: @block_expr ); #keyset[id] block_expr_labels( int id: @block_expr ref, int label: @label ref ); element_list_exprs( unique int id: @element_list_expr ); #keyset[id, index] element_list_expr_elements( int id: @element_list_expr ref, int index: int ref, int element: @expr ref ); #keyset[id] element_list_expr_is_assignee_expr( int id: @element_list_expr ref ); repeat_exprs( unique int id: @repeat_expr, int initializer: @expr ref, int repeat: @expr ref ); unsafe_block_exprs( unique int id: @unsafe_block_expr );