/*** Standard fragments ***//** Files and folders **/@location = @location_default;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);@sourceline = @locatable;numlines(int element_id: @sourceline ref,int num_lines: int ref,int num_code: int ref,int num_comment: int ref);files(unique int id: @file,varchar(900) name: string ref);folders(unique int id: @folder,varchar(900) name: string ref);@container = @folder | @file ;containerparent(int parent: @container ref,unique int child: @container ref);/** Duplicate code **/duplicateCode(unique int id : @duplication,varchar(900) relativePath : string ref,int equivClass : int ref);similarCode(unique int id : @similarity,varchar(900) relativePath : string ref,int equivClass : int ref);@duplication_or_similarity = @duplication | @similarity;tokens(int id : @duplication_or_similarity ref,int offset : int ref,int beginLine : int ref,int beginColumn : int ref,int endLine : int ref,int endColumn : int ref);/** External data **/externalData(int id : @externalDataElement,varchar(900) path : string ref,int column: int ref,varchar(900) value : string ref);snapshotDate(unique date snapshotDate : date ref);sourceLocationPrefix(varchar(900) prefix : string ref);/** Version control data **/svnentries(int id : @svnentry,varchar(500) revision : string ref,varchar(500) author : string ref,date revisionDate : date ref,int changeSize : int ref);svnaffectedfiles(int id : @svnentry ref,int file : @file ref,varchar(500) action : string ref);svnentrymsg(int id : @svnentry ref,varchar(500) message : string ref);svnchurn(int commit : @svnentry ref,int file : @file ref,int addedLines : int ref,int deletedLines : int ref);/*** JavaScript-specific part ***/filetype(int file: @file ref,string filetype: string ref)// top-level code fragmentstoplevels (unique int id: @toplevel,int kind: int ref);is_externs (int toplevel: @toplevel ref);case @toplevel.kind of0 = @script| 1 = @inline_script| 2 = @event_handler| 3 = @javascript_url| 4 = @template_toplevel;is_module (int tl: @toplevel ref);is_nodejs (int tl: @toplevel ref);is_es2015_module (int tl: @toplevel ref);is_closure_module (int tl: @toplevel ref);@xml_node_with_code = @xmlelement | @xmlattribute | @template_placeholder_tag;toplevel_parent_xml_node(unique int toplevel: @toplevel ref,int xmlnode: @xml_node_with_code ref);xml_element_parent_expression(unique int xmlnode: @xmlelement ref,int expression: @expr ref,int index: int ref);// statements#keyset[parent, idx]stmts (unique int id: @stmt,int kind: int ref,int parent: @stmt_parent ref,int idx: int ref,varchar(900) tostring: string ref);stmt_containers (unique int stmt: @stmt ref,int container: @stmt_container ref);jump_targets (unique int jump: @stmt ref,int target: @stmt ref);@stmt_parent = @stmt | @toplevel | @function_expr | @arrow_function_expr | @static_initializer;@stmt_container = @toplevel | @function | @namespace_declaration | @external_module_declaration | @global_augmentation_declaration;case @stmt.kind of0 = @empty_stmt| 1 = @block_stmt| 2 = @expr_stmt| 3 = @if_stmt| 4 = @labeled_stmt| 5 = @break_stmt| 6 = @continue_stmt| 7 = @with_stmt| 8 = @switch_stmt| 9 = @return_stmt| 10 = @throw_stmt| 11 = @try_stmt| 12 = @while_stmt| 13 = @do_while_stmt| 14 = @for_stmt| 15 = @for_in_stmt| 16 = @debugger_stmt| 17 = @function_decl_stmt| 18 = @var_decl_stmt| 19 = @case| 20 = @catch_clause| 21 = @for_of_stmt| 22 = @const_decl_stmt| 23 = @let_stmt| 24 = @legacy_let_stmt| 25 = @for_each_stmt| 26 = @class_decl_stmt| 27 = @import_declaration| 28 = @export_all_declaration| 29 = @export_default_declaration| 30 = @export_named_declaration| 31 = @namespace_declaration| 32 = @import_equals_declaration| 33 = @export_assign_declaration| 34 = @interface_declaration| 35 = @type_alias_declaration| 36 = @enum_declaration| 37 = @external_module_declaration| 38 = @export_as_namespace_declaration| 39 = @global_augmentation_declaration;@decl_stmt = @var_decl_stmt | @const_decl_stmt | @let_stmt | @legacy_let_stmt;@export_declaration = @export_all_declaration | @export_default_declaration | @export_named_declaration;@namespace_definition = @namespace_declaration | @enum_declaration;@type_definition = @class_definition | @interface_declaration | @enum_declaration | @type_alias_declaration | @enum_member;is_instantiated(unique int decl: @namespace_declaration ref);@declarable_node = @decl_stmt | @namespace_declaration | @class_decl_stmt | @function_decl_stmt | @enum_declaration | @external_module_declaration | @global_augmentation_declaration | @field;has_declare_keyword(unique int stmt: @declarable_node ref);is_for_await_of(unique int forof: @for_of_stmt ref);// expressions#keyset[parent, idx]exprs (unique int id: @expr,int kind: int ref,int parent: @expr_parent ref,int idx: int ref,varchar(900) tostring: string ref);literals (varchar(900) value: string ref,varchar(900) raw: string ref,unique int expr: @expr_or_type ref);enclosing_stmt (unique int expr: @expr_or_type ref,int stmt: @stmt ref);expr_containers (unique int expr: @expr_or_type ref,int container: @stmt_container ref);array_size (unique int ae: @arraylike ref,int sz: int ref);is_delegating (int yield: @yield_expr ref);@expr_or_stmt = @expr | @stmt;@expr_or_type = @expr | @typeexpr;@expr_parent = @expr_or_stmt | @property | @function_typeexpr;@arraylike = @array_expr | @array_pattern;@type_annotation = @typeexpr | @jsdoc_type_expr;@node_in_stmt_container = @cfg_node | @type_annotation | @toplevel;case @expr.kind of0 = @label| 1 = @null_literal| 2 = @boolean_literal| 3 = @number_literal| 4 = @string_literal| 5 = @regexp_literal| 6 = @this_expr| 7 = @array_expr| 8 = @obj_expr| 9 = @function_expr| 10 = @seq_expr| 11 = @conditional_expr| 12 = @new_expr| 13 = @call_expr| 14 = @dot_expr| 15 = @index_expr| 16 = @neg_expr| 17 = @plus_expr| 18 = @log_not_expr| 19 = @bit_not_expr| 20 = @typeof_expr| 21 = @void_expr| 22 = @delete_expr| 23 = @eq_expr| 24 = @neq_expr| 25 = @eqq_expr| 26 = @neqq_expr| 27 = @lt_expr| 28 = @le_expr| 29 = @gt_expr| 30 = @ge_expr| 31 = @lshift_expr| 32 = @rshift_expr| 33 = @urshift_expr| 34 = @add_expr| 35 = @sub_expr| 36 = @mul_expr| 37 = @div_expr| 38 = @mod_expr| 39 = @bitor_expr| 40 = @xor_expr| 41 = @bitand_expr| 42 = @in_expr| 43 = @instanceof_expr| 44 = @logand_expr| 45 = @logor_expr| 47 = @assign_expr| 48 = @assign_add_expr| 49 = @assign_sub_expr| 50 = @assign_mul_expr| 51 = @assign_div_expr| 52 = @assign_mod_expr| 53 = @assign_lshift_expr| 54 = @assign_rshift_expr| 55 = @assign_urshift_expr| 56 = @assign_or_expr| 57 = @assign_xor_expr| 58 = @assign_and_expr| 59 = @preinc_expr| 60 = @postinc_expr| 61 = @predec_expr| 62 = @postdec_expr| 63 = @par_expr| 64 = @var_declarator| 65 = @arrow_function_expr| 66 = @spread_element| 67 = @array_pattern| 68 = @object_pattern| 69 = @yield_expr| 70 = @tagged_template_expr| 71 = @template_literal| 72 = @template_element| 73 = @array_comprehension_expr| 74 = @generator_expr| 75 = @for_in_comprehension_block| 76 = @for_of_comprehension_block| 77 = @legacy_letexpr| 78 = @var_decl| 79 = @proper_varaccess| 80 = @class_expr| 81 = @super_expr| 82 = @newtarget_expr| 83 = @named_import_specifier| 84 = @import_default_specifier| 85 = @import_namespace_specifier| 86 = @named_export_specifier| 87 = @exp_expr| 88 = @assign_exp_expr| 89 = @jsx_element| 90 = @jsx_qualified_name| 91 = @jsx_empty_expr| 92 = @await_expr| 93 = @function_sent_expr| 94 = @decorator| 95 = @export_default_specifier| 96 = @export_namespace_specifier| 97 = @bind_expr| 98 = @external_module_reference| 99 = @dynamic_import| 100 = @expression_with_type_arguments| 101 = @prefix_type_assertion| 102 = @as_type_assertion| 103 = @export_varaccess| 104 = @decorator_list| 105 = @non_null_assertion| 106 = @bigint_literal| 107 = @nullishcoalescing_expr| 108 = @e4x_xml_anyname| 109 = @e4x_xml_static_attribute_selector| 110 = @e4x_xml_dynamic_attribute_selector| 111 = @e4x_xml_filter_expression| 112 = @e4x_xml_static_qualident| 113 = @e4x_xml_dynamic_qualident| 114 = @e4x_xml_dotdotexpr| 115 = @import_meta_expr| 116 = @assignlogandexpr| 117 = @assignlogorexpr| 118 = @assignnullishcoalescingexpr| 119 = @template_pipe_ref| 120 = @generated_code_expr;@varaccess = @proper_varaccess | @export_varaccess;@varref = @var_decl | @varaccess;@identifier = @label | @varref | @type_identifier;@literal = @null_literal | @boolean_literal | @number_literal | @string_literal | @regexp_literal | @bigint_literal;@propaccess = @dot_expr | @index_expr;@invokeexpr = @new_expr | @call_expr;@unaryexpr = @neg_expr | @plus_expr | @log_not_expr | @bit_not_expr | @typeof_expr | @void_expr | @delete_expr | @spread_element;@equality_test = @eq_expr | @neq_expr | @eqq_expr | @neqq_expr;@comparison = @equality_test | @lt_expr | @le_expr | @gt_expr | @ge_expr;@binaryexpr = @comparison | @lshift_expr | @rshift_expr | @urshift_expr | @add_expr | @sub_expr | @mul_expr | @div_expr | @mod_expr | @exp_expr | @bitor_expr | @xor_expr | @bitand_expr | @in_expr | @instanceof_expr | @logand_expr | @logor_expr | @nullishcoalescing_expr;@assignment = @assign_expr | @assign_add_expr | @assign_sub_expr | @assign_mul_expr | @assign_div_expr | @assign_mod_expr | @assign_exp_expr | @assign_lshift_expr | @assign_rshift_expr | @assign_urshift_expr | @assign_or_expr | @assign_xor_expr | @assign_and_expr | @assignlogandexpr | @assignlogorexpr | @assignnullishcoalescingexpr;@updateexpr = @preinc_expr | @postinc_expr | @predec_expr | @postdec_expr;@pattern = @varref | @array_pattern | @object_pattern;@comprehension_expr = @array_comprehension_expr | @generator_expr;@comprehension_block = @for_in_comprehension_block | @for_of_comprehension_block;@import_specifier = @named_import_specifier | @import_default_specifier | @import_namespace_specifier;@exportspecifier = @named_export_specifier | @export_default_specifier | @export_namespace_specifier;@type_keyword_operand = @import_declaration | @export_declaration | @import_specifier;@type_assertion = @as_type_assertion | @prefix_type_assertion;@class_definition = @class_decl_stmt | @class_expr;@interface_definition = @interface_declaration | @interface_typeexpr;@class_or_interface = @class_definition | @interface_definition;@lexical_decl = @var_decl | @type_decl;@lexical_access = @varaccess | @local_type_access | @local_var_type_access | @local_namespace_access;@lexical_ref = @lexical_decl | @lexical_access;@e4x_xml_attribute_selector = @e4x_xml_static_attribute_selector | @e4x_xml_dynamic_attribute_selector;@e4x_xml_qualident = @e4x_xml_static_qualident | @e4x_xml_dynamic_qualident;expr_contains_template_tag_location(int expr: @expr ref,int location: @location ref);@template_placeholder_tag_parent = @xmlelement | @xmlattribute | @file;template_placeholder_tag_info(unique int node: @template_placeholder_tag,int parentNode: @template_placeholder_tag_parent ref,varchar(900) raw: string ref);// scopesscopes (unique int id: @scope,int kind: int ref);case @scope.kind of0 = @global_scope| 1 = @function_scope| 2 = @catch_scope| 3 = @module_scope| 4 = @block_scope| 5 = @for_scope| 6 = @for_in_scope // for-of scopes work the same as for-in scopes| 7 = @comprehension_block_scope| 8 = @class_expr_scope| 9 = @namespace_scope| 10 = @class_decl_scope| 11 = @interface_scope| 12 = @type_alias_scope| 13 = @mapped_type_scope| 14 = @enum_scope| 15 = @external_module_scope| 16 = @conditional_type_scope;scopenodes (unique int node: @ast_node ref,int scope: @scope ref);scopenesting (unique int inner: @scope ref,int outer: @scope ref);// functions@function = @function_decl_stmt | @function_expr | @arrow_function_expr;@parameterized = @function | @catch_clause;@type_parameterized = @function | @class_or_interface | @type_alias_declaration | @mapped_typeexpr | @infer_typeexpr;is_generator (int fun: @function ref);has_rest_parameter (int fun: @function ref);is_async (int fun: @function ref);// variables and lexically scoped type names#keyset[scope, name]variables (unique int id: @variable,varchar(900) name: string ref,int scope: @scope ref);#keyset[scope, name]local_type_names (unique int id: @local_type_name,varchar(900) name: string ref,int scope: @scope ref);#keyset[scope, name]local_namespace_names (unique int id: @local_namespace_name,varchar(900) name: string ref,int scope: @scope ref);is_arguments_object (int id: @variable ref);@lexical_name = @variable | @local_type_name | @local_namespace_name;@bind_id = @varaccess | @local_var_type_access;bind (unique int id: @bind_id ref,int decl: @variable ref);decl (unique int id: @var_decl ref,int decl: @variable ref);@typebind_id = @local_type_access | @export_varaccess;typebind (unique int id: @typebind_id ref,int decl: @local_type_name ref);@typedecl_id = @type_decl | @var_decl;typedecl (unique int id: @typedecl_id ref,int decl: @local_type_name ref);namespacedecl (unique int id: @var_decl ref,int decl: @local_namespace_name ref);@namespacebind_id = @local_namespace_access | @export_varaccess;namespacebind (unique int id: @namespacebind_id ref,int decl: @local_namespace_name ref);// properties in object literals, property patterns in object patterns, and method declarations in classes#keyset[parent, index]properties (unique int id: @property,int parent: @property_parent ref,int index: int ref,int kind: int ref,varchar(900) tostring: string ref);case @property.kind of0 = @value_property| 1 = @property_getter| 2 = @property_setter| 3 = @jsx_attribute| 4 = @function_call_signature| 5 = @constructor_call_signature| 6 = @index_signature| 7 = @enum_member| 8 = @proper_field| 9 = @parameter_field| 10 = @static_initializer;@property_parent = @obj_expr | @object_pattern | @class_definition | @jsx_element | @interface_definition | @enum_declaration;@property_accessor = @property_getter | @property_setter;@call_signature = @function_call_signature | @constructor_call_signature;@field = @proper_field | @parameter_field;@field_or_vardeclarator = @field | @var_declarator;is_computed (int id: @property ref);is_method (int id: @property ref);is_static (int id: @property ref);is_abstract_member (int id: @property ref);is_const_enum (int id: @enum_declaration ref);is_abstract_class (int id: @class_decl_stmt ref);has_public_keyword (int id: @property ref);has_private_keyword (int id: @property ref);has_protected_keyword (int id: @property ref);has_readonly_keyword (int id: @property ref);has_type_keyword (int id: @type_keyword_operand ref);is_optional_member (int id: @property ref);has_definite_assignment_assertion (int id: @field_or_vardeclarator ref);is_optional_parameter_declaration (unique int parameter: @pattern ref);#keyset[constructor, param_index]parameter_fields(unique int field: @parameter_field ref,int constructor: @function_expr ref,int param_index: int ref);// types#keyset[parent, idx]typeexprs (unique int id: @typeexpr,int kind: int ref,int parent: @typeexpr_parent ref,int idx: int ref,varchar(900) tostring: string ref);case @typeexpr.kind of0 = @local_type_access| 1 = @type_decl| 2 = @keyword_typeexpr| 3 = @string_literal_typeexpr| 4 = @number_literal_typeexpr| 5 = @boolean_literal_typeexpr| 6 = @array_typeexpr| 7 = @union_typeexpr| 8 = @indexed_access_typeexpr| 9 = @intersection_typeexpr| 10 = @parenthesized_typeexpr| 11 = @tuple_typeexpr| 12 = @keyof_typeexpr| 13 = @qualified_type_access| 14 = @generic_typeexpr| 15 = @type_label| 16 = @typeof_typeexpr| 17 = @local_var_type_access| 18 = @qualified_var_type_access| 19 = @this_var_type_access| 20 = @predicate_typeexpr| 21 = @interface_typeexpr| 22 = @type_parameter| 23 = @plain_function_typeexpr| 24 = @constructor_typeexpr| 25 = @local_namespace_access| 26 = @qualified_namespace_access| 27 = @mapped_typeexpr| 28 = @conditional_typeexpr| 29 = @infer_typeexpr| 30 = @import_type_access| 31 = @import_namespace_access| 32 = @import_var_type_access| 33 = @optional_typeexpr| 34 = @rest_typeexpr| 35 = @bigint_literal_typeexpr| 36 = @readonly_typeexpr| 37 = @template_literal_typeexpr;@typeref = @typeaccess | @type_decl;@type_identifier = @type_decl | @local_type_access | @type_label | @local_var_type_access | @local_namespace_access;@typeexpr_parent = @expr | @stmt | @property | @typeexpr;@literal_typeexpr = @string_literal_typeexpr | @number_literal_typeexpr | @boolean_literal_typeexpr | @bigint_literal_typeexpr;@typeaccess = @local_type_access | @qualified_type_access | @import_type_access;@vartypeaccess = @local_var_type_access | @qualified_var_type_access | @this_var_type_access | @import_var_type_access;@namespace_access = @local_namespace_access | @qualified_namespace_access | @import_namespace_access;@import_typeexpr = @import_type_access | @import_namespace_access | @import_var_type_access;@function_typeexpr = @plain_function_typeexpr | @constructor_typeexpr;// typestypes (unique int id: @type,int kind: int ref,varchar(900) tostring: string ref);#keyset[parent, idx]type_child (int child: @type ref,int parent: @type ref,int idx: int ref);case @type.kind of0 = @any_type| 1 = @string_type| 2 = @number_type| 3 = @union_type| 4 = @true_type| 5 = @false_type| 6 = @type_reference| 7 = @object_type| 8 = @canonical_type_variable_type| 9 = @typeof_type| 10 = @void_type| 11 = @undefined_type| 12 = @null_type| 13 = @never_type| 14 = @plain_symbol_type| 15 = @unique_symbol_type| 16 = @objectkeyword_type| 17 = @intersection_type| 18 = @tuple_type| 19 = @lexical_type_variable_type| 20 = @this_type| 21 = @number_literal_type| 22 = @string_literal_type| 23 = @unknown_type| 24 = @bigint_type| 25 = @bigint_literal_type;@boolean_literal_type = @true_type | @false_type;@symbol_type = @plain_symbol_type | @unique_symbol_type;@union_or_intersection_type = @union_type | @intersection_type;@typevariable_type = @canonical_type_variable_type | @lexical_type_variable_type;has_asserts_keyword(int node: @predicate_typeexpr ref);@typed_ast_node = @expr | @typeexpr | @function;ast_node_type(unique int node: @typed_ast_node ref,int typ: @type ref);declared_function_signature(unique int node: @function ref,int sig: @signature_type ref);invoke_expr_signature(unique int node: @invokeexpr ref,int sig: @signature_type ref);invoke_expr_overload_index(unique int node: @invokeexpr ref,int index: int ref);symbols (unique int id: @symbol,int kind: int ref,varchar(900) name: string ref);symbol_parent (unique int symbol: @symbol ref,int parent: @symbol ref);symbol_module (int symbol: @symbol ref,varchar(900) moduleName: string ref);symbol_global (int symbol: @symbol ref,varchar(900) globalName: string ref);case @symbol.kind of0 = @root_symbol| 1 = @member_symbol| 2 = @other_symbol;@type_with_symbol = @type_reference | @typevariable_type | @typeof_type | @unique_symbol_type;@ast_node_with_symbol = @type_definition | @namespace_definition | @toplevel | @typeaccess | @namespace_access | @var_decl | @function | @invokeexpr | @import_declaration | @external_module_reference;ast_node_symbol(unique int node: @ast_node_with_symbol ref,int symbol: @symbol ref);type_symbol(unique int typ: @type_with_symbol ref,int symbol: @symbol ref);#keyset[typ, name]type_property(int typ: @type ref,varchar(900) name: string ref,int propertyType: @type ref);type_alias(unique int aliasType: @type ref,int underlyingType: @type ref);@literal_type = @string_literal_type | @number_literal_type | @boolean_literal_type | @bigint_literal_type;@type_with_literal_value = @string_literal_type | @number_literal_type | @bigint_literal_type;type_literal_value(unique int typ: @type_with_literal_value ref,varchar(900) value: string ref);signature_types (unique int id: @signature_type,int kind: int ref,varchar(900) tostring: string ref,int type_parameters: int ref,int required_params: int ref);is_abstract_signature(unique int sig: @signature_type ref);signature_rest_parameter(unique int sig: @signature_type ref,int rest_param_arra_type: @type ref);case @signature_type.kind of0 = @function_signature_type| 1 = @constructor_signature_type;#keyset[typ, kind, index]type_contains_signature (int typ: @type ref,int kind: int ref, // constructor/call/indexint index: int ref, // ordering of overloaded signaturesint sig: @signature_type ref);#keyset[parent, index]signature_contains_type (int child: @type ref,int parent: @signature_type ref,int index: int ref);#keyset[sig, index]signature_parameter_name (int sig: @signature_type ref,int index: int ref,varchar(900) name: string ref);number_index_type (unique int baseType: @type ref,int propertyType: @type ref);string_index_type (unique int baseType: @type ref,int propertyType: @type ref);base_type_names(int typeName: @symbol ref,int baseTypeName: @symbol ref);self_types(int typeName: @symbol ref,int selfType: @type_reference ref);tuple_type_min_length(unique int typ: @type ref,int minLength: int ref);tuple_type_rest_index(unique int typ: @type ref,int index: int ref);// commentscomments (unique int id: @comment,int kind: int ref,int toplevel: @toplevel ref,varchar(900) text: string ref,varchar(900) tostring: string ref);case @comment.kind of0 = @slashslash_comment| 1 = @slashstar_comment| 2 = @doc_comment| 3 = @html_comment_start| 4 = @htmlcommentend;@html_comment = @html_comment_start | @htmlcommentend;@line_comment = @slashslash_comment | @html_comment;@block_comment = @slashstar_comment | @doc_comment;// source lineslines (unique int id: @line,int toplevel: @toplevel ref,varchar(900) text: string ref,varchar(2) terminator: string ref);indentation (int file: @file ref,int lineno: int ref,varchar(1) indentChar: string ref,int indentDepth: int ref);// JavaScript parse errorsjs_parse_errors (unique int id: @js_parse_error,int toplevel: @toplevel ref,varchar(900) message: string ref,varchar(900) line: string ref);// regular expressions#keyset[parent, idx]regexpterm (unique int id: @regexpterm,int kind: int ref,int parent: @regexpparent ref,int idx: int ref,varchar(900) tostring: string ref);@regexpparent = @regexpterm | @regexp_literal | @string_literal | @add_expr;case @regexpterm.kind of0 = @regexp_alt| 1 = @regexp_seq| 2 = @regexp_caret| 3 = @regexp_dollar| 4 = @regexp_wordboundary| 5 = @regexp_nonwordboundary| 6 = @regexp_positive_lookahead| 7 = @regexp_negative_lookahead| 8 = @regexp_star| 9 = @regexp_plus| 10 = @regexp_opt| 11 = @regexp_range| 12 = @regexp_dot| 13 = @regexp_group| 14 = @regexp_normal_constant| 15 = @regexp_hex_escape| 16 = @regexp_unicode_escape| 17 = @regexp_dec_escape| 18 = @regexp_oct_escape| 19 = @regexp_ctrl_escape| 20 = @regexp_char_class_escape| 21 = @regexp_id_escape| 22 = @regexp_backref| 23 = @regexp_char_class| 24 = @regexp_char_range| 25 = @regexp_positive_lookbehind| 26 = @regexp_negative_lookbehind| 27 = @regexp_unicode_property_escape;regexp_parse_errors (unique int id: @regexp_parse_error,int regexp: @regexpterm ref,varchar(900) message: string ref);@regexp_quantifier = @regexp_star | @regexp_plus | @regexp_opt | @regexp_range;@regexp_escape = @regexp_char_escape | @regexp_char_class_escape | @regexp_unicode_property_escape;@regexp_char_escape = @regexp_hex_escape | @regexp_unicode_escape | @regexp_dec_escape | @regexp_oct_escape | @regexp_ctrl_escape | @regexp_id_escape;@regexp_constant = @regexp_normal_constant | @regexp_char_escape;@regexp_lookahead = @regexp_positive_lookahead | @regexp_negative_lookahead;@regexp_lookbehind = @regexp_positive_lookbehind | @regexp_negative_lookbehind;@regexp_subpattern = @regexp_lookahead | @regexp_lookbehind;@regexp_anchor = @regexp_dollar | @regexp_caret;is_greedy (int id: @regexp_quantifier ref);range_quantifier_lower_bound (unique int id: @regexp_range ref, int lo: int ref);range_quantifier_upper_bound (unique int id: @regexp_range ref, int hi: int ref);is_capture (unique int id: @regexp_group ref, int number: int ref);is_named_capture (unique int id: @regexp_group ref, string name: string ref);is_inverted (int id: @regexp_char_class ref);regexp_const_value (unique int id: @regexp_constant ref, varchar(1) value: string ref);char_class_escape (unique int id: @regexp_char_class_escape ref, varchar(1) value: string ref);backref (unique int id: @regexp_backref ref, int value: int ref);named_backref (unique int id: @regexp_backref ref, string name: string ref);unicode_property_escapename (unique int id: @regexp_unicode_property_escape ref, string name: string ref);unicode_property_escapevalue (unique int id: @regexp_unicode_property_escape ref, string value: string ref);// tokens#keyset[toplevel, idx]tokeninfo (unique int id: @token,int kind: int ref,int toplevel: @toplevel ref,int idx: int ref,varchar(900) value: string ref);case @token.kind of0 = @token_eof| 1 = @token_null_literal| 2 = @token_boolean_literal| 3 = @token_numeric_literal| 4 = @token_string_literal| 5 = @token_regular_expression| 6 = @token_identifier| 7 = @token_keyword| 8 = @token_punctuator;// associate comments with the token immediately following them (which may be EOF)next_token (int comment: @comment ref, int token: @token ref);// JSON#keyset[parent, idx]json (unique int id: @json_value,int kind: int ref,int parent: @json_parent ref,int idx: int ref,varchar(900) tostring: string ref);json_literals (varchar(900) value: string ref,varchar(900) raw: string ref,unique int expr: @json_value ref);json_properties (int obj: @json_object ref,varchar(900) property: string ref,int value: @json_value ref);json_errors (unique int id: @json_parse_error,varchar(900) message: string ref);json_locations(unique int locatable: @json_locatable ref,int location: @location_default ref);case @json_value.kind of0 = @json_null| 1 = @json_boolean| 2 = @json_number| 3 = @json_string| 4 = @json_array| 5 = @json_object;@json_parent = @json_object | @json_array | @file;@json_locatable = @json_value | @json_parse_error;// locations@ast_node = @toplevel | @stmt | @expr | @property | @typeexpr;@locatable = @file| @ast_node| @comment| @line| @js_parse_error | @regexp_parse_error| @regexpterm| @json_locatable| @token| @cfg_node| @jsdoc | @jsdoc_type_expr | @jsdoc_tag| @yaml_locatable| @xmllocatable| @configLocatable| @template_placeholder_tag;hasLocation (unique int locatable: @locatable ref,int location: @location ref);// CFGentry_cfg_node (unique int id: @entry_node, int container: @stmt_container ref);exit_cfg_node (unique int id: @exit_node, int container: @stmt_container ref);guard_node (unique int id: @guard_node, int kind: int ref, int test: @expr ref);case @guard_node.kind of0 = @falsy_guard| 1 = @truthy_guard;@condition_guard = @falsy_guard | @truthy_guard;@synthetic_cfg_node = @entry_node | @exit_node | @guard_node;@cfg_node = @synthetic_cfg_node | @expr_parent;successor (int pred: @cfg_node ref, int succ: @cfg_node ref);// JSDoc commentsjsdoc (unique int id: @jsdoc, varchar(900) description: string ref, int comment: @comment ref);#keyset[parent, idx]jsdoc_tags (unique int id: @jsdoc_tag, varchar(900) title: string ref,int parent: @jsdoc ref, int idx: int ref, varchar(900) tostring: string ref);jsdoc_tag_descriptions (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref);jsdoc_tag_names (unique int tag: @jsdoc_tag ref, varchar(900) text: string ref);#keyset[parent, idx]jsdoc_type_exprs (unique int id: @jsdoc_type_expr,int kind: int ref,int parent: @jsdoc_type_expr_parent ref,int idx: int ref,varchar(900) tostring: string ref);case @jsdoc_type_expr.kind of0 = @jsdoc_any_type_expr| 1 = @jsdoc_null_type_expr| 2 = @jsdoc_undefined_type_expr| 3 = @jsdoc_unknown_type_expr| 4 = @jsdoc_void_type_expr| 5 = @jsdoc_named_type_expr| 6 = @jsdoc_applied_type_expr| 7 = @jsdoc_nullable_type_expr| 8 = @jsdoc_non_nullable_type_expr| 9 = @jsdoc_record_type_expr| 10 = @jsdoc_array_type_expr| 11 = @jsdoc_union_type_expr| 12 = @jsdoc_function_type_expr| 13 = @jsdoc_optional_type_expr| 14 = @jsdoc_rest_type_expr;#keyset[id, idx]jsdoc_record_field_name (int id: @jsdoc_record_type_expr ref, int idx: int ref, varchar(900) name: string ref);jsdoc_prefix_qualifier (int id: @jsdoc_type_expr ref);jsdoc_has_new_parameter (int fn: @jsdoc_function_type_expr ref);@jsdoc_type_expr_parent = @jsdoc_type_expr | @jsdoc_tag;jsdoc_errors (unique int id: @jsdoc_error, int tag: @jsdoc_tag ref, varchar(900) message: string ref, varchar(900) tostring: string ref);// YAML#keyset[parent, idx]yaml (unique int id: @yaml_node,int kind: int ref,int parent: @yaml_node_parent ref,int idx: int ref,varchar(900) tag: string ref,varchar(900) tostring: string ref);case @yaml_node.kind of0 = @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,varchar(900) anchor: string ref);yaml_aliases (unique int alias: @yaml_alias_node ref,varchar(900) target: string ref);yaml_scalars (unique int scalar: @yaml_scalar_node ref,int style: int ref,varchar(900) value: string ref);yaml_errors (unique int id: @yaml_error,varchar(900) message: string ref);yaml_locations(unique int locatable: @yaml_locatable ref,int location: @location_default ref);@yaml_locatable = @yaml_node | @yaml_error;/* XML Files */xmlEncoding(unique int id: @file ref,varchar(900) encoding: string ref);xmlDTDs(unique int id: @xmldtd,varchar(900) root: string ref,varchar(900) publicId: string ref,varchar(900) systemId: string ref,int fileid: @file ref);xmlElements(unique int id: @xmlelement,varchar(900) name: string ref,int parentid: @xmlparent ref,int idx: int ref,int fileid: @file ref);xmlAttrs(unique int id: @xmlattribute,int elementid: @xmlelement ref,varchar(900) name: string ref,varchar(3600) value: string ref,int idx: int ref,int fileid: @file ref);xmlNs(int id: @xmlnamespace,varchar(900) prefixName: string ref,varchar(900) URI: string ref,int fileid: @file ref);xmlHasNs(int elementId: @xmlnamespaceable ref,int nsId: @xmlnamespace ref,int fileid: @file ref);xmlComments(unique int id: @xmlcomment,varchar(3600) text: string ref,int parentid: @xmlparent ref,int fileid: @file ref);xmlChars(unique int id: @xmlcharacters,varchar(3600) text: string ref,int parentid: @xmlparent ref,int idx: int ref,int isCDATA: int ref,int fileid: @file ref);@xmlparent = @file | @xmlelement;@xmlnamespaceable = @xmlelement | @xmlattribute;xmllocations(int xmlElement: @xmllocatable ref,int location: @location_default ref);@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace;@dataflownode = @expr | @function_decl_stmt | @class_decl_stmt | @namespace_declaration | @enum_declaration | @property;@optionalchainable = @call_expr | @propaccess;isOptionalChaining(int id: @optionalchainable ref);/** configuration files with key value pairs*/configs(unique int id: @config);configNames(unique int id: @configName,int config: @config ref,string name: string ref);configValues(unique int id: @configValue,int config: @config ref,string value: string ref);configLocations(int locatable: @configLocatable ref,int location: @location_default ref);@configLocatable = @config | @configName | @configValue;/*** The time taken for the extraction of a file.* This table contains non-deterministic content.** The sum of the `time` column for each (`file`, `timerKind`) pair* is the total time taken for extraction of `file`. The `extractionPhase`* column provides a granular view of the extraction time of the file.*/extraction_time(int file : @file ref,// see `com.semmle.js.extractor.ExtractionMetrics.ExtractionPhase`.int extractionPhase: int ref,// 0 for the elapsed CPU time in nanoseconds, 1 for the elapsed wallclock time in nanosecondsint timerKind: int ref,float time: float ref)/*** Non-timing related data for the extraction of a single file.* This table contains non-deterministic content.*/extraction_data(int file : @file ref,// the absolute path to the cache filevarchar(900) cacheFile: string ref,boolean fromCache: boolean ref,int length: int ref)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。