From 3514dd1e4dc6f165855cac34f2d594cc685bda31 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Mon, 6 Feb 2023 21:08:27 +0000 Subject: [PATCH 1/6] Java: merge the @class and @interface database types and tables This will allow the extractor to emit class(id, ...) when all it knows about a class is its name, due to not having it available on the classpath. Previously it would have had to guess whether it belonged to @class or @interface, possibly introducing an inconsistency. --- .../classes.ql | 11 + .../interfaces.ql | 11 + .../old.dbscheme | 1242 + .../semmlecode.dbscheme | 1246 + .../upgrade.properties | 5 + .../src/main/kotlin/KotlinFileExtractor.kt | 52 +- .../src/main/kotlin/KotlinUsesExtractor.kt | 20 +- java/ql/lib/config/semmlecode.dbscheme | 42 +- java/ql/lib/semmle/code/Location.qll | 4 +- java/ql/lib/semmle/code/java/Type.qll | 21 +- .../classes_or_interfaces.ql | 11 + .../isInterface.ql | 6 + .../old.dbscheme | 1246 + .../semmlecode.dbscheme | 1242 + .../semmlecode.dbscheme.stats | 26852 ++++++++++++++++ .../upgrade.properties | 4 + .../library-tests/qlengine/selectAtType.ql | 2 +- 17 files changed, 31939 insertions(+), 78 deletions(-) create mode 100644 java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/classes.ql create mode 100644 java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/interfaces.ql create mode 100644 java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/old.dbscheme create mode 100644 java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/semmlecode.dbscheme create mode 100644 java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/classes_or_interfaces.ql create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/isInterface.ql create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/old.dbscheme create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme.stats create mode 100644 java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/classes.ql b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/classes.ql new file mode 100644 index 00000000000..82123848cb7 --- /dev/null +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/classes.ql @@ -0,0 +1,11 @@ +class ClassOrInterface extends @classorinterface { + string toString() { result = "class-or-interface" } +} + +class Package extends @package { + string toString() { result = "package" } +} + +from ClassOrInterface id, string nodeName, Package parentId, ClassOrInterface sourceId +where classes_or_interfaces(id, nodeName, parentId, sourceId) and not isInterface(id) +select id, nodeName, parentId, sourceId diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/interfaces.ql b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/interfaces.ql new file mode 100644 index 00000000000..83d804fcf80 --- /dev/null +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/interfaces.ql @@ -0,0 +1,11 @@ +class ClassOrInterface extends @classorinterface { + string toString() { result = "class-or-interface" } +} + +class Package extends @package { + string toString() { result = "package" } +} + +from ClassOrInterface id, string nodeName, Package parentId, ClassOrInterface sourceId +where classes_or_interfaces(id, nodeName, parentId, sourceId) and isInterface(id) +select id, nodeName, parentId, sourceId diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/old.dbscheme b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/old.dbscheme new file mode 100644 index 00000000000..934bf10b4bd --- /dev/null +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/old.dbscheme @@ -0,0 +1,1242 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + 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 +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string 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 +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@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 +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +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, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string 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, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string 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; + +/* + * 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; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/semmlecode.dbscheme b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/semmlecode.dbscheme new file mode 100644 index 00000000000..44d61b266be --- /dev/null +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/semmlecode.dbscheme @@ -0,0 +1,1246 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + 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 +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string 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 +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@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 +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +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, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string 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, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string 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; + +/* + * 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; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @class ref +) diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties new file mode 100644 index 00000000000..52c95780abc --- /dev/null +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties @@ -0,0 +1,5 @@ +description: Seperate class and interface tables +compatibility: full +classes.rel: run classes.qlo +interfaces.rel: run interfaces.qlo +isInterface.rel: delete diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index 793d7b15b6f..b93bfa369f5 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -351,18 +351,14 @@ open class KotlinFileExtractor( val pkgId = extractPackage(pkg) // TODO: There's lots of duplication between this and extractClassSource. // Can we share it? + val sourceId = useClassSource(c) + tw.writeClasses_or_interfaces(id, cls, pkgId, sourceId) if (c.isInterfaceLike) { - val interfaceId = id.cast() - val sourceInterfaceId = useClassSource(c).cast() - tw.writeInterfaces(interfaceId, cls, pkgId, sourceInterfaceId) + tw.writeIsInterface(id) } else { - val classId = id.cast() - val sourceClassId = useClassSource(c).cast() - tw.writeClasses(classId, cls, pkgId, sourceClassId) - val kind = c.kind if (kind == ClassKind.ENUM_CLASS) { - tw.writeIsEnumType(classId) + tw.writeIsEnumType(id) } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT && kind != ClassKind.ENUM_ENTRY) { logger.errorElement("Unrecognised class kind $kind", c) } @@ -459,11 +455,11 @@ open class KotlinFileExtractor( } private fun extractLocalTypeDeclStmt(c: IrClass, callable: Label, parent: Label, idx: Int) { - val id = extractClassSource(c, extractDeclarations = true, extractStaticInitializer = true, extractPrivateMembers = true, extractFunctionBodies = true).cast() + val id = extractClassSource(c, extractDeclarations = true, extractStaticInitializer = true, extractPrivateMembers = true, extractFunctionBodies = true) extractLocalTypeDeclStmt(id, c, callable, parent, idx) } - private fun extractLocalTypeDeclStmt(id: Label, locElement: IrElement, callable: Label, parent: Label, idx: Int) { + private fun extractLocalTypeDeclStmt(id: Label, locElement: IrElement, callable: Label, parent: Label, idx: Int) { val stmtId = tw.getFreshIdLabel() tw.writeStmts_localtypedeclstmt(stmtId, parent, idx, callable) tw.writeIsLocalClassOrInterface(id, stmtId) @@ -630,26 +626,22 @@ open class KotlinFileExtractor( val pkg = c.packageFqName?.asString() ?: "" val cls = if (c.isAnonymousObject) "" else c.name.asString() val pkgId = extractPackage(pkg) + tw.writeClasses_or_interfaces(id, cls, pkgId, id) if (c.isInterfaceLike) { - val interfaceId = id.cast() - tw.writeInterfaces(interfaceId, cls, pkgId, interfaceId) - + tw.writeIsInterface(id) if (c.kind == ClassKind.ANNOTATION_CLASS) { - tw.writeIsAnnotType(interfaceId) + tw.writeIsAnnotType(id) } } else { - val classId = id.cast() - tw.writeClasses(classId, cls, pkgId, classId) - val kind = c.kind if (kind == ClassKind.ENUM_CLASS) { - tw.writeIsEnumType(classId) + tw.writeIsEnumType(id) } else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT && kind != ClassKind.ENUM_ENTRY) { logger.warnElement("Unrecognised class kind $kind", c) } if (c.isData) { - tw.writeKtDataClasses(classId) + tw.writeKtDataClasses(id) } } @@ -694,7 +686,7 @@ open class KotlinFileExtractor( tw.writeFieldsKotlinType(instance.id, type.kotlinResult.id) tw.writeHasLocation(instance.id, locId) addModifiers(instance.id, "public", "static", "final") - tw.writeClass_object(id.cast(), instance.id) + tw.writeClass_object(id, instance.id) } if (c.isObject) { addModifiers(id, "static") @@ -830,7 +822,7 @@ open class KotlinFileExtractor( tw.writeFieldsKotlinType(instance.id, type.kotlinResult.id) tw.writeHasLocation(instance.id, innerLocId) addModifiers(instance.id, "public", "static", "final") - tw.writeType_companion_object(parentId, instance.id, innerId.cast()) + tw.writeType_companion_object(parentId, instance.id, innerId) } } @@ -4448,7 +4440,7 @@ open class KotlinFileExtractor( } private open inner class GeneratedClassHelper(protected val locId: Label, protected val ids: GeneratedClassLabels) { - protected val classId = ids.type.javaResult.id.cast() + protected val classId = ids.type.javaResult.id.cast() /** * Extract a parameter to field assignment, such as `this.field = paramName` below: @@ -4788,7 +4780,7 @@ open class KotlinFileExtractor( val locId = tw.getLocation(propertyReferenceExpr) - val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") + val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") val kotlinResult = TypeResult(tw.getFreshIdLabel(), "", "") tw.writeKt_notnull_types(kotlinResult.id, javaResult.id) val ids = GeneratedClassLabels( @@ -4980,7 +4972,7 @@ open class KotlinFileExtractor( val locId = tw.getLocation(functionReferenceExpr) - val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") + val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") val kotlinResult = TypeResult(tw.getFreshIdLabel(), "", "") tw.writeKt_notnull_types(kotlinResult.id, javaResult.id) val ids = LocallyVisibleFunctionLabels( @@ -5550,7 +5542,7 @@ open class KotlinFileExtractor( return } - val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") + val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") val kotlinResult = TypeResult(tw.getFreshIdLabel(), "", "") tw.writeKt_notnull_types(kotlinResult.id, javaResult.id) val ids = LocallyVisibleFunctionLabels( @@ -5659,7 +5651,7 @@ open class KotlinFileExtractor( val idNewexpr = extractNewExpr(ids.constructor, ids.type, locId, id, 1, callable, enclosingStmt) - tw.writeIsAnonymClass(ids.type.javaResult.id.cast(), idNewexpr) + tw.writeIsAnonymClass(ids.type.javaResult.id.cast(), idNewexpr) extractTypeAccessRecursive(e.typeOperand, locId, idNewexpr, -3, callable, enclosingStmt) @@ -5705,11 +5697,11 @@ open class KotlinFileExtractor( compilerGeneratedKindOverride: CompilerGeneratedKinds? = null, superConstructorSelector: (IrFunction) -> Boolean = { it.valueParameters.isEmpty() }, extractSuperconstructorArgs: (Label) -> Unit = {}, - ): Label { + ): Label { // Write class - val id = ids.type.javaResult.id.cast() + val id = ids.type.javaResult.id.cast() val pkgId = extractPackage("") - tw.writeClasses(id, "", pkgId, id) + tw.writeClasses_or_interfaces(id, "", pkgId, id) tw.writeCompiler_generated(id, (compilerGeneratedKindOverride ?: CompilerGeneratedKinds.CALLABLE_CLASS).kind) tw.writeHasLocation(id, locId) @@ -5761,7 +5753,7 @@ open class KotlinFileExtractor( localFunction: IrFunction, superTypes: List, compilerGeneratedKindOverride: CompilerGeneratedKinds? = null - ) : Label { + ) : Label { with("generated class", localFunction) { val ids = getLocallyVisibleFunctionLabels(localFunction) diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt index 92fc961dd0f..c72f094808b 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt @@ -71,16 +71,16 @@ open class KotlinUsesExtractor( TypeResult(fakeKotlinType(), "", "") ) - fun extractFileClass(f: IrFile): Label { + fun extractFileClass(f: IrFile): Label { val pkg = f.fqName.asString() val jvmName = getFileClassName(f) val qualClassName = if (pkg.isEmpty()) jvmName else "$pkg.$jvmName" val label = "@\"class;$qualClassName\"" - val id: Label = tw.getLabelFor(label) { + val id: Label = tw.getLabelFor(label) { val fileId = tw.mkFileId(f.path, false) val locId = tw.getWholeFileLocation(fileId) val pkgId = extractPackage(pkg) - tw.writeClasses(it, jvmName, pkgId, it) + tw.writeClasses_or_interfaces(it, jvmName, pkgId, it) tw.writeFile_class(it) tw.writeHasLocation(it, locId) @@ -478,7 +478,7 @@ open class KotlinUsesExtractor( private fun useAnonymousClass(c: IrClass) = tw.lm.anonymousTypeMapping.getOrPut(c) { TypeResults( - TypeResult(tw.getFreshIdLabel(), "", ""), + TypeResult(tw.getFreshIdLabel(), "", ""), TypeResult(fakeKotlinType(), "TODO", "TODO") ) } @@ -487,8 +487,8 @@ open class KotlinUsesExtractor( val fakeKotlinPackageId: Label = tw.getLabelFor("@\"FakeKotlinPackage\"", { tw.writePackages(it, "fake.kotlin") }) - val fakeKotlinClassId: Label = tw.getLabelFor("@\"FakeKotlinClass\"", { - tw.writeClasses(it, "FakeKotlinClass", fakeKotlinPackageId, it) + val fakeKotlinClassId: Label = tw.getLabelFor("@\"FakeKotlinClass\"", { + tw.writeClasses_or_interfaces(it, "FakeKotlinClass", fakeKotlinPackageId, it) }) val fakeKotlinTypeId: Label = tw.getLabelFor("@\"FakeKotlinType\"", { tw.writeKt_nullable_types(it, fakeKotlinClassId) @@ -650,11 +650,11 @@ open class KotlinUsesExtractor( // We use this when we don't actually have an IrClass for a class // we want to refer to // TODO: Eliminate the need for this if possible - fun makeClass(pkgName: String, className: String): Label { + fun makeClass(pkgName: String, className: String): Label { val pkgId = extractPackage(pkgName) val label = "@\"class;$pkgName.$className\"" - val classId: Label = tw.getLabelFor(label, { - tw.writeClasses(it, className, pkgId, it) + val classId: Label = tw.getLabelFor(label, { + tw.writeClasses_or_interfaces(it, className, pkgId, it) }) return classId } @@ -1237,7 +1237,7 @@ open class KotlinUsesExtractor( var res = tw.lm.locallyVisibleFunctionLabelMapping[f] if (res == null) { - val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") + val javaResult = TypeResult(tw.getFreshIdLabel(), "", "") val kotlinResult = TypeResult(tw.getFreshIdLabel(), "", "") tw.writeKt_notnull_types(kotlinResult.id, javaResult.id) res = LocallyVisibleFunctionLabels( diff --git a/java/ql/lib/config/semmlecode.dbscheme b/java/ql/lib/config/semmlecode.dbscheme index 44d61b266be..934bf10b4bd 100644 --- a/java/ql/lib/config/semmlecode.dbscheme +++ b/java/ql/lib/config/semmlecode.dbscheme @@ -346,26 +346,26 @@ error_type( unique int id: @errortype ); -classes( - unique int id: @class, +classes_or_interfaces( + unique int id: @classorinterface, string nodeName: string ref, int parentid: @package ref, - int sourceid: @class ref + int sourceid: @classorinterface ref ); file_class( - int id: @class ref + int id: @classorinterface ref ); class_object( - unique int id: @class ref, + unique int id: @classorinterface ref, unique int instance: @field ref ); type_companion_object( unique int id: @classorinterface ref, unique int instance: @field ref, - unique int companion_object: @class ref + unique int companion_object: @classorinterface ref ); kt_nullable_types( @@ -386,15 +386,12 @@ kt_type_alias( @kt_type = @kt_nullable_type | @kt_notnull_type -isRecord( - unique int id: @class ref +isInterface( + unique int id: @classorinterface ref ); -interfaces( - unique int id: @interface, - string nodeName: string ref, - int parentid: @package ref, - int sourceid: @interface ref +isRecord( + unique int id: @classorinterface ref ); fielddecls( @@ -480,7 +477,7 @@ exceptions( ); isAnnotType( - int interfaceid: @interface ref + int interfaceid: @classorinterface ref ); isAnnotElem( @@ -494,7 +491,7 @@ annotValue( ); isEnumType( - int classid: @class ref + int classid: @classorinterface ref ); isEnumConst( @@ -546,7 +543,7 @@ erasure( #keyset[classid] #keyset[parent] isAnonymClass( - int classid: @class ref, + int classid: @classorinterface ref, int parent: @classinstancexpr ref ); @@ -586,7 +583,7 @@ extendsReftype( implInterface( int id1: @classorarray ref, - int id2: @interface ref + int id2: @classorinterface ref ); permits( @@ -868,7 +865,7 @@ propertyRefSetBinding( int setter: @callable ref ); -@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; variableBinding( unique int expr: @varaccess ref, @@ -1022,12 +1019,11 @@ javadocText( @javadocParent = @javadoc | @javadocTag; @javadocElement = @javadocTag | @javadocText; -@classorinterface = @interface | @class; @classorinterfaceorpackage = @classorinterface | @package; @classorinterfaceorcallable = @classorinterface | @callable; @boundedtype = @typevariable | @wildcard; @reftype = @classorinterface | @array | @boundedtype | @errortype; -@classorarray = @class | @array; +@classorarray = @classorinterface | @array; @type = @primitive | @reftype; @callable = @method | @constructor; @@ -1035,13 +1031,13 @@ javadocText( @element = @package | @modifier | @annotation | @errortype | @locatableElement; -@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | @kt_property; @modifiable = @member_modifiable| @param | @localvar | @typevariable; -@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; @member = @method | @constructor | @field | @reftype ; @@ -1242,5 +1238,5 @@ ktFunctionOriginalNames( ) ktDataClasses( - unique int id: @class ref + unique int id: @classorinterface ref ) diff --git a/java/ql/lib/semmle/code/Location.qll b/java/ql/lib/semmle/code/Location.qll index 256b831a8ad..8b53254893b 100644 --- a/java/ql/lib/semmle/code/Location.qll +++ b/java/ql/lib/semmle/code/Location.qll @@ -10,9 +10,7 @@ private import semmle.code.SMAP /** Holds if element `e` has name `name`. */ predicate hasName(Element e, string name) { - classes(e, name, _, _) - or - interfaces(e, name, _, _) + classes_or_interfaces(e, name, _, _) or primitives(e, name) or diff --git a/java/ql/lib/semmle/code/java/Type.qll b/java/ql/lib/semmle/code/java/Type.qll index eff61ed0fde..f0b79ee945c 100644 --- a/java/ql/lib/semmle/code/java/Type.qll +++ b/java/ql/lib/semmle/code/java/Type.qll @@ -385,10 +385,7 @@ class Array extends RefType, @array { */ class RefType extends Type, Annotatable, Modifiable, @reftype { /** Gets the package in which this type is declared. */ - Package getPackage() { - classes(this, _, result, _) or - interfaces(this, _, result, _) - } + Package getPackage() { classes_or_interfaces(this, _, result, _) } /** Gets the type in which this reference type is enclosed, if any. */ RefType getEnclosingType() { enclInReftype(this, result) } @@ -685,12 +682,12 @@ class SrcRefType extends RefType { } /** A class declaration. */ -class Class extends ClassOrInterface, @class { +class Class extends ClassOrInterface { + Class() { not isInterface(this) } + /** Holds if this class is an anonymous class. */ predicate isAnonymous() { isAnonymClass(this.getSourceDeclaration(), _) } - override RefType getSourceDeclaration() { classes(this, _, _, result) } - /** * Gets an annotation that applies to this class. * @@ -742,10 +739,10 @@ class Record extends Class { } /** An intersection type. */ -class IntersectionType extends RefType, @class { +class IntersectionType extends RefType, @classorinterface { IntersectionType() { exists(string shortname | - classes(this, shortname, _, _) and + classes_or_interfaces(this, shortname, _, _) and shortname.matches("% & ...") ) } @@ -940,8 +937,8 @@ class InnerClass extends NestedClass { } /** An interface. */ -class Interface extends ClassOrInterface, @interface { - override RefType getSourceDeclaration() { interfaces(this, _, _, result) } +class Interface extends ClassOrInterface { + Interface() { isInterface(this) } override predicate isAbstract() { // JLS 9.1.1.1: "Every interface is implicitly abstract" @@ -953,6 +950,8 @@ class Interface extends ClassOrInterface, @interface { /** A class or interface. */ class ClassOrInterface extends RefType, @classorinterface { + override RefType getSourceDeclaration() { classes_or_interfaces(this, _, _, result) } + /** Holds if this class or interface is local. */ predicate isLocal() { isLocalClassOrInterface(this.getSourceDeclaration(), _) } diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/classes_or_interfaces.ql b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/classes_or_interfaces.ql new file mode 100644 index 00000000000..8e969327d7e --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/classes_or_interfaces.ql @@ -0,0 +1,11 @@ +class ClassOrInterface extends @classorinterface { + string toString() { result = "class-or-interface" } +} + +class Package extends @package { + string toString() { result = "package" } +} + +from ClassOrInterface id, string nodeName, Package parentId, ClassOrInterface sourceId +where classes(id, nodeName, parentId, sourceId) or interfaces(id, nodeName, parentId, sourceId) +select id, nodeName, parentId, sourceId diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/isInterface.ql b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/isInterface.ql new file mode 100644 index 00000000000..6c7ffac591c --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/isInterface.ql @@ -0,0 +1,6 @@ +class Interface extends @interface { + string toString() { result = "interface" } +} + +from Interface i +select i diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/old.dbscheme b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/old.dbscheme new file mode 100644 index 00000000000..44d61b266be --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/old.dbscheme @@ -0,0 +1,1246 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + 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 +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string 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 +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@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 +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +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, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string 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, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string 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; + +/* + * 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; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @class ref +) diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme new file mode 100644 index 00000000000..934bf10b4bd --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme @@ -0,0 +1,1242 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +compilation_info( + int id : @compilation ref, + string info_key: string ref, + string info_value: string ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + 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 +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string 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 +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@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 +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +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, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes_or_interfaces( + unique int id: @classorinterface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @classorinterface ref +); + +file_class( + int id: @classorinterface ref +); + +class_object( + unique int id: @classorinterface ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @classorinterface ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isInterface( + unique int id: @classorinterface ref +); + +isRecord( + unique int id: @classorinterface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @classorinterface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @classorinterface ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @classorinterface ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @classorinterface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @classorinterface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @classorinterface | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @classorinterface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar | @typevariable; + +@member_modifiable = @classorinterface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string 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, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string 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; + +/* + * 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; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) + +ktDataClasses( + unique int id: @classorinterface ref +) diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme.stats b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme.stats new file mode 100644 index 00000000000..7ebc6e0b93e --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/semmlecode.dbscheme.stats @@ -0,0 +1,26852 @@ + + + + @javacompilation + 8628 + + + @kotlincompilation + 7683 + + + @diagnostic + 61632 + + + @externalDataElement + 1 + + + @duplication + 1 + + + @similarity + 1 + + + @file + 9158642 + + + @folder + 1415670 + + + @location_default + 602747369 + + + @package + 580098 + + + @primitive + 17287 + + + @modifier + 26891 + + + @errortype + 1 + + + @class + 12618104 + + + @kt_nullable_type + 1920 + + + @kt_notnull_type + 172391 + + + @kt_type_alias + 1821 + + + @interface + 23200100 + + + @fielddecl + 199475 + + + @field + 19350704 + + + @constructor + 8006128 + + + @method + 109719302 + + + @param + 120852585 + + + @exception + 1232644 + + + @typevariable + 6288883 + + + @wildcard + 3338447 + + + @typebound + 4229725 + + + @array + 1375332 + + + @import + 368550 + + + @block + 756817 + + + @ifstmt + 188285 + + + @forstmt + 52504 + + + @enhancedforstmt + 18520 + + + @whilestmt + 13266 + + + @dostmt + 2405 + + + @trystmt + 58624 + + + @switchstmt + 10546 + + + @synchronizedstmt + 18206 + + + @returnstmt + 532846 + + + @throwstmt + 35917 + + + @breakstmt + 35329 + + + @continuestmt + 3211 + + + @emptystmt + 1561 + + + @exprstmt + 942102 + + + @assertstmt + 10815 + + + @localvariabledeclstmt + 318689 + + + @localtypedeclstmt + 3841 + + + @constructorinvocationstmt + 9165 + + + @superconstructorinvocationstmt + 201354 + + + @case + 107945 + + + @catchclause + 55201 + + + @labeledstmt + 2342 + + + @yieldstmt + 36 + + + @errorstmt + 1 + + + @whenbranch + 225101 + + + @arrayaccess + 409681 + + + @arraycreationexpr + 69247 + + + @arrayinit + 405405 + + + @assignexpr + 465407 + + + @assignaddexpr + 17016 + + + @assignsubexpr + 3505 + + + @assignmulexpr + 2153 + + + @assigndivexpr + 1071 + + + @assignandexpr + 3971 + + + @assignorexpr + 14528 + + + @booleanliteral + 589912 + + + @integerliteral + 1151458 + + + @longliteral + 185904 + + + @floatingpointliteral + 2824996 + + + @doubleliteral + 486619 + + + @characterliteral + 40016 + + + @stringliteral + 1262818 + + + @nullliteral + 434113 + + + @mulexpr + 204580 + + + @divexpr + 36264 + + + @remexpr + 3904 + + + @addexpr + 176986 + + + @subexpr + 84385 + + + @lshiftexpr + 8736 + + + @rshiftexpr + 4206 + + + @urshiftexpr + 5463 + + + @andbitexpr + 110212 + + + @orbitexpr + 12590 + + + @xorbitexpr + 1925 + + + @andlogicalexpr + 36742 + + + @orlogicalexpr + 31150 + + + @ltexpr + 66249 + + + @gtexpr + 17203 + + + @leexpr + 10529 + + + @geexpr + 13411 + + + @eqexpr + 128429 + + + @neexpr + 60975 + + + @postincexpr + 29632 + + + @postdecexpr + 11683 + + + @preincexpr + 23714 + + + @predecexpr + 3781 + + + @minusexpr + 744386 + + + @plusexpr + 53007 + + + @bitnotexpr + 8186 + + + @lognotexpr + 40111 + + + @castexpr + 93187 + + + @newexpr + 252083 + + + @conditionalexpr + 16047 + + + @instanceofexpr + 29542 + + + @localvariabledeclexpr + 385272 + + + @typeliteral + 144350 + + + @thisaccess + 756915 + + + @superaccess + 99884 + + + @varaccess + 2434277 + + + @methodaccess + 1512385 + + + @unannotatedtypeaccess + 2608638 + + + @arraytypeaccess + 120727 + + + @wildcardtypeaccess + 64091 + + + @declannotation + 6740832 + + + @assignremexpr + 47 + + + @assignxorexpr + 1102 + + + @assignlshiftexpr + 916 + + + @assignrshiftexpr + 1404 + + + @assignurshiftexpr + 431 + + + @parexpr + 1 + + + @packageaccess + 1 + + + @uniontypeaccess + 917 + + + @lambdaexpr + 167982 + + + @memberref + 23859 + + + @annotatedtypeaccess + 1281 + + + @typeannotation + 1281 + + + @intersectiontypeaccess + 25 + + + @switchexpr + 591 + + + @errorexpr + 1 + + + @whenexpr + 152111 + + + @getclassexpr + 1920 + + + @safecastexpr + 6402 + + + @implicitcastexpr + 30316 + + + @implicitnotnullexpr + 216630 + + + @implicitcoerciontounitexpr + 81396 + + + @notinstanceofexpr + 17306 + + + @stmtexpr + 55704 + + + @stringtemplateexpr + 59546 + + + @notnullexpr + 18820 + + + @unsafecoerceexpr + 1 + + + @valueeqexpr + 93060 + + + @valueneexpr + 95639 + + + @propertyref + 8878 + + + @localvar + 385272 + + + @module + 7965 + + + @requires + 1991 + + + @exports + 35013 + + + @opens + 165 + + + @uses + 10786 + + + @provides + 2323 + + + @javadoc + 985091 + + + @javadocTag + 335808 + + + @javadocText + 2502848 + + + @xmldtd + 569 + + + @xmlelement + 150282022 + + + @xmlattribute + 182798274 + + + @xmlnamespace + 11525 + + + @xmlcomment + 151257816 + + + @xmlcharacters + 142938589 + + + @config + 1 + + + @configName + 1 + + + @configValue + 1 + + + @ktcomment + 188243 + + + @ktcommentsection + 52611 + + + @kt_property + 21895839 + + + + + compilations + 8628 + + + id + 8628 + + + kind + 165 + + + cwd + 165 + + + name + 8628 + + + + + id + kind + + + 12 + + + 1 + 2 + 8628 + + + + + + + id + cwd + + + 12 + + + 1 + 2 + 8628 + + + + + + + id + name + + + 12 + + + 1 + 2 + 8628 + + + + + + + kind + id + + + 12 + + + 52 + 53 + 165 + + + + + + + kind + cwd + + + 12 + + + 1 + 2 + 165 + + + + + + + kind + name + + + 12 + + + 52 + 53 + 165 + + + + + + + cwd + id + + + 12 + + + 52 + 53 + 165 + + + + + + + cwd + kind + + + 12 + + + 1 + 2 + 165 + + + + + + + cwd + name + + + 12 + + + 52 + 53 + 165 + + + + + + + name + id + + + 12 + + + 1 + 2 + 8628 + + + + + + + name + kind + + + 12 + + + 1 + 2 + 8628 + + + + + + + name + cwd + + + 12 + + + 1 + 2 + 8628 + + + + + + + + + compilation_started + 7683 + + + id + 7683 + + + + + + compilation_info + 15366 + + + id + 7683 + + + info_key + 3841 + + + info_value + 3841 + + + + + id + info_key + + + 12 + + + 2 + 3 + 7683 + + + + + + + id + info_value + + + 12 + + + 2 + 3 + 7683 + + + + + + + info_key + id + + + 12 + + + 4 + 5 + 3841 + + + + + + + info_key + info_value + + + 12 + + + 1 + 2 + 3841 + + + + + + + info_value + id + + + 12 + + + 4 + 5 + 3841 + + + + + + + info_value + info_key + + + 12 + + + 1 + 2 + 3841 + + + + + + + + + compilation_args + 169035 + + + id + 7683 + + + num + 48021 + + + arg + 90280 + + + + + id + num + + + 12 + + + 20 + 21 + 3841 + + + 23 + 24 + 1920 + + + 25 + 26 + 1920 + + + + + + + id + arg + + + 12 + + + 20 + 21 + 3841 + + + 23 + 24 + 1920 + + + 25 + 26 + 1920 + + + + + + + num + id + + + 12 + + + 1 + 2 + 3841 + + + 2 + 3 + 5762 + + + 4 + 5 + 38417 + + + + + + + num + arg + + + 12 + + + 1 + 2 + 9604 + + + 2 + 3 + 17287 + + + 3 + 4 + 11525 + + + 4 + 5 + 9604 + + + + + + + arg + id + + + 12 + + + 1 + 2 + 61467 + + + 2 + 3 + 3841 + + + 4 + 5 + 24971 + + + + + + + arg + num + + + 12 + + + 1 + 2 + 67229 + + + 2 + 3 + 19208 + + + 3 + 4 + 3841 + + + + + + + + + compilation_compiling_files + 59495 + + + id + 2275 + + + num + 17556 + + + file + 49742 + + + + + id + num + + + 12 + + + 1 + 2 + 325 + + + 2 + 3 + 650 + + + 35 + 36 + 650 + + + 54 + 55 + 650 + + + + + + + id + file + + + 12 + + + 1 + 2 + 325 + + + 2 + 3 + 650 + + + 35 + 36 + 650 + + + 54 + 55 + 650 + + + + + + + num + id + + + 12 + + + 2 + 3 + 6177 + + + 4 + 5 + 10728 + + + 6 + 8 + 650 + + + + + + + num + file + + + 12 + + + 2 + 3 + 6177 + + + 3 + 4 + 9753 + + + 4 + 8 + 1625 + + + + + + + file + id + + + 12 + + + 1 + 2 + 39989 + + + 2 + 3 + 9753 + + + + + + + file + num + + + 12 + + + 1 + 2 + 49742 + + + + + + + + + compilation_compiling_files_completed + 59495 + + + id + 2275 + + + num + 17556 + + + result + 325 + + + + + id + num + + + 12 + + + 1 + 2 + 325 + + + 2 + 3 + 650 + + + 35 + 36 + 650 + + + 54 + 55 + 650 + + + + + + + id + result + + + 12 + + + 1 + 2 + 2275 + + + + + + + num + id + + + 12 + + + 2 + 3 + 6177 + + + 4 + 5 + 10728 + + + 6 + 8 + 650 + + + + + + + num + result + + + 12 + + + 1 + 2 + 17556 + + + + + + + result + id + + + 12 + + + 7 + 8 + 325 + + + + + + + result + num + + + 12 + + + 54 + 55 + 325 + + + + + + + + + compilation_time + 196471 + + + id + 8628 + + + num + 5144 + + + kind + 663 + + + seconds + 89772 + + + + + id + num + + + 12 + + + 1 + 2 + 331 + + + 2 + 3 + 1659 + + + 3 + 4 + 1161 + + + 4 + 5 + 2157 + + + 5 + 6 + 663 + + + 6 + 7 + 497 + + + 7 + 8 + 497 + + + 8 + 12 + 663 + + + 13 + 16 + 663 + + + 20 + 32 + 331 + + + + + + + id + kind + + + 12 + + + 4 + 5 + 8628 + + + + + + + id + seconds + + + 12 + + + 2 + 3 + 331 + + + 4 + 5 + 1659 + + + 6 + 7 + 1161 + + + 8 + 9 + 2157 + + + 10 + 11 + 663 + + + 12 + 13 + 497 + + + 14 + 15 + 497 + + + 16 + 23 + 663 + + + 26 + 31 + 663 + + + 40 + 63 + 331 + + + + + + + num + id + + + 12 + + + 1 + 2 + 1825 + + + 2 + 3 + 829 + + + 3 + 5 + 331 + + + 6 + 7 + 331 + + + 7 + 8 + 331 + + + 8 + 11 + 331 + + + 13 + 17 + 331 + + + 20 + 34 + 331 + + + 40 + 51 + 331 + + + 52 + 53 + 165 + + + + + + + num + kind + + + 12 + + + 4 + 5 + 5144 + + + + + + + num + seconds + + + 12 + + + 3 + 4 + 1825 + + + 5 + 6 + 829 + + + 7 + 10 + 331 + + + 13 + 14 + 331 + + + 15 + 16 + 331 + + + 17 + 22 + 331 + + + 27 + 34 + 331 + + + 41 + 54 + 331 + + + 67 + 82 + 331 + + + 101 + 102 + 165 + + + + + + + kind + id + + + 12 + + + 52 + 53 + 663 + + + + + + + kind + num + + + 12 + + + 31 + 32 + 663 + + + + + + + kind + seconds + + + 12 + + + 1 + 2 + 331 + + + 245 + 246 + 165 + + + 296 + 297 + 165 + + + + + + + seconds + id + + + 12 + + + 1 + 2 + 89606 + + + 52 + 53 + 165 + + + + + + + seconds + num + + + 12 + + + 1 + 2 + 89606 + + + 31 + 32 + 165 + + + + + + + seconds + kind + + + 12 + + + 1 + 2 + 89606 + + + 3 + 4 + 165 + + + + + + + + + diagnostic_for + 61632 + + + diagnostic + 61632 + + + compilation + 574 + + + file_number + 14797 + + + file_number_diagnostic_number + 2154 + + + + + diagnostic + compilation + + + 12 + + + 1 + 2 + 61632 + + + + + + + diagnostic + file_number + + + 12 + + + 1 + 2 + 61632 + + + + + + + diagnostic + file_number_diagnostic_number + + + 12 + + + 1 + 2 + 61632 + + + + + + + compilation + diagnostic + + + 12 + + + 14 + 15 + 143 + + + 28 + 29 + 143 + + + 123 + 124 + 143 + + + 264 + 265 + 143 + + + + + + + compilation + file_number + + + 12 + + + 7 + 8 + 143 + + + 14 + 15 + 143 + + + 45 + 46 + 143 + + + 103 + 104 + 143 + + + + + + + compilation + file_number_diagnostic_number + + + 12 + + + 2 + 3 + 287 + + + 14 + 15 + 143 + + + 15 + 16 + 143 + + + + + + + file_number + diagnostic + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 6464 + + + 3 + 4 + 718 + + + 4 + 5 + 3160 + + + 5 + 6 + 1292 + + + 6 + 8 + 1149 + + + 8 + 11 + 1292 + + + 12 + 21 + 574 + + + + + + + file_number + compilation + + + 12 + + + 1 + 2 + 8332 + + + 2 + 3 + 4453 + + + 3 + 4 + 1005 + + + 4 + 5 + 1005 + + + + + + + file_number + file_number_diagnostic_number + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 10056 + + + 3 + 4 + 2011 + + + 4 + 5 + 1005 + + + 5 + 8 + 1149 + + + 10 + 16 + 430 + + + + + + + file_number_diagnostic_number + diagnostic + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 574 + + + 3 + 4 + 430 + + + 5 + 6 + 143 + + + 7 + 8 + 143 + + + 11 + 12 + 143 + + + 18 + 19 + 143 + + + 33 + 34 + 143 + + + 168 + 169 + 143 + + + 169 + 170 + 143 + + + + + + + file_number_diagnostic_number + compilation + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 1723 + + + 4 + 5 + 287 + + + + + + + file_number_diagnostic_number + file_number + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 574 + + + 3 + 4 + 430 + + + 5 + 6 + 143 + + + 7 + 8 + 143 + + + 11 + 12 + 143 + + + 18 + 19 + 143 + + + 32 + 33 + 143 + + + 102 + 103 + 143 + + + 103 + 104 + 143 + + + + + + + + + compilation_compiler_times + 7683 + + + id + 7683 + + + cpu_seconds + 1920 + + + elapsed_seconds + 7683 + + + + + id + cpu_seconds + + + 12 + + + 1 + 2 + 7683 + + + + + + + id + elapsed_seconds + + + 12 + + + 1 + 2 + 7683 + + + + + + + cpu_seconds + id + + + 12 + + + 4 + 5 + 1920 + + + + + + + cpu_seconds + elapsed_seconds + + + 12 + + + 4 + 5 + 1920 + + + + + + + elapsed_seconds + id + + + 12 + + + 1 + 2 + 7683 + + + + + + + elapsed_seconds + cpu_seconds + + + 12 + + + 1 + 2 + 7683 + + + + + + + + + compilation_finished + 8628 + + + id + 8628 + + + cpu_seconds + 165 + + + elapsed_seconds + 8628 + + + result + 165 + + + + + id + cpu_seconds + + + 12 + + + 1 + 2 + 8628 + + + + + + + id + elapsed_seconds + + + 12 + + + 1 + 2 + 8628 + + + + + + + id + result + + + 12 + + + 1 + 2 + 8628 + + + + + + + cpu_seconds + id + + + 12 + + + 52 + 53 + 165 + + + + + + + cpu_seconds + elapsed_seconds + + + 12 + + + 52 + 53 + 165 + + + + + + + cpu_seconds + result + + + 12 + + + 1 + 2 + 165 + + + + + + + elapsed_seconds + id + + + 12 + + + 1 + 2 + 8628 + + + + + + + elapsed_seconds + cpu_seconds + + + 12 + + + 1 + 2 + 8628 + + + + + + + elapsed_seconds + result + + + 12 + + + 1 + 2 + 8628 + + + + + + + result + id + + + 12 + + + 52 + 53 + 165 + + + + + + + result + cpu_seconds + + + 12 + + + 1 + 2 + 165 + + + + + + + result + elapsed_seconds + + + 12 + + + 52 + 53 + 165 + + + + + + + + + diagnostics + 61632 + + + id + 61632 + + + generated_by + 143 + + + severity + 143 + + + error_tag + 143 + + + error_message + 1580 + + + full_error_message + 40944 + + + location + 143 + + + + + id + generated_by + + + 12 + + + 1 + 2 + 61632 + + + + + + + id + severity + + + 12 + + + 1 + 2 + 61632 + + + + + + + id + error_tag + + + 12 + + + 1 + 2 + 61632 + + + + + + + id + error_message + + + 12 + + + 1 + 2 + 61632 + + + + + + + id + full_error_message + + + 12 + + + 1 + 2 + 61632 + + + + + + + id + location + + + 12 + + + 1 + 2 + 61632 + + + + + + + generated_by + id + + + 12 + + + 429 + 430 + 143 + + + + + + + generated_by + severity + + + 12 + + + 1 + 2 + 143 + + + + + + + generated_by + error_tag + + + 12 + + + 1 + 2 + 143 + + + + + + + generated_by + error_message + + + 12 + + + 11 + 12 + 143 + + + + + + + generated_by + full_error_message + + + 12 + + + 285 + 286 + 143 + + + + + + + generated_by + location + + + 12 + + + 1 + 2 + 143 + + + + + + + severity + id + + + 12 + + + 429 + 430 + 143 + + + + + + + severity + generated_by + + + 12 + + + 1 + 2 + 143 + + + + + + + severity + error_tag + + + 12 + + + 1 + 2 + 143 + + + + + + + severity + error_message + + + 12 + + + 11 + 12 + 143 + + + + + + + severity + full_error_message + + + 12 + + + 285 + 286 + 143 + + + + + + + severity + location + + + 12 + + + 1 + 2 + 143 + + + + + + + error_tag + id + + + 12 + + + 429 + 430 + 143 + + + + + + + error_tag + generated_by + + + 12 + + + 1 + 2 + 143 + + + + + + + error_tag + severity + + + 12 + + + 1 + 2 + 143 + + + + + + + error_tag + error_message + + + 12 + + + 11 + 12 + 143 + + + + + + + error_tag + full_error_message + + + 12 + + + 285 + 286 + 143 + + + + + + + error_tag + location + + + 12 + + + 1 + 2 + 143 + + + + + + + error_message + id + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 143 + + + 3 + 4 + 143 + + + 6 + 7 + 143 + + + 9 + 10 + 143 + + + 12 + 13 + 287 + + + 24 + 25 + 143 + + + 28 + 29 + 143 + + + 166 + 167 + 287 + + + + + + + error_message + generated_by + + + 12 + + + 1 + 2 + 1580 + + + + + + + error_message + severity + + + 12 + + + 1 + 2 + 1580 + + + + + + + error_message + error_tag + + + 12 + + + 1 + 2 + 1580 + + + + + + + error_message + full_error_message + + + 12 + + + 1 + 2 + 143 + + + 2 + 3 + 143 + + + 3 + 4 + 143 + + + 6 + 7 + 143 + + + 9 + 10 + 143 + + + 12 + 13 + 287 + + + 22 + 23 + 143 + + + 24 + 25 + 143 + + + 28 + 29 + 143 + + + 166 + 167 + 143 + + + + + + + error_message + location + + + 12 + + + 1 + 2 + 1580 + + + + + + + full_error_message + id + + + 12 + + + 1 + 2 + 38358 + + + 2 + 25 + 2585 + + + + + + + full_error_message + generated_by + + + 12 + + + 1 + 2 + 40944 + + + + + + + full_error_message + severity + + + 12 + + + 1 + 2 + 40944 + + + + + + + full_error_message + error_tag + + + 12 + + + 1 + 2 + 40944 + + + + + + + full_error_message + error_message + + + 12 + + + 1 + 2 + 40944 + + + + + + + full_error_message + location + + + 12 + + + 1 + 2 + 40944 + + + + + + + location + id + + + 12 + + + 429 + 430 + 143 + + + + + + + location + generated_by + + + 12 + + + 1 + 2 + 143 + + + + + + + location + severity + + + 12 + + + 1 + 2 + 143 + + + + + + + location + error_tag + + + 12 + + + 1 + 2 + 143 + + + + + + + location + error_message + + + 12 + + + 11 + 12 + 143 + + + + + + + location + full_error_message + + + 12 + + + 285 + 286 + 143 + + + + + + + + + externalData + 1 + + + id + 1 + + + path + 1 + + + column + 1 + + + value + 1 + + + + + id + path + + + 12 + + + + + + id + column + + + 12 + + + + + + id + value + + + 12 + + + + + + path + id + + + 12 + + + + + + path + column + + + 12 + + + + + + path + value + + + 12 + + + + + + column + id + + + 12 + + + + + + column + path + + + 12 + + + + + + column + value + + + 12 + + + + + + value + id + + + 12 + + + + + + value + path + + + 12 + + + + + + value + column + + + 12 + + + + + + + + snapshotDate + 1 + + + snapshotDate + 1 + + + + + + sourceLocationPrefix + 1920 + + + prefix + 1920 + + + + + + duplicateCode + 1 + + + id + 1 + + + relativePath + 1 + + + equivClass + 1 + + + + + id + relativePath + + + 12 + + + 1 + 2 + 1 + + + + + + + id + equivClass + + + 12 + + + 1 + 2 + 1 + + + + + + + relativePath + id + + + 12 + + + + + + relativePath + equivClass + + + 12 + + + + + + equivClass + id + + + 12 + + + + + + equivClass + relativePath + + + 12 + + + + + + + + similarCode + 1 + + + id + 1 + + + relativePath + 1 + + + equivClass + 1 + + + + + id + relativePath + + + 12 + + + 1 + 2 + 1 + + + + + + + id + equivClass + + + 12 + + + 1 + 2 + 1 + + + + + + + relativePath + id + + + 12 + + + + + + relativePath + equivClass + + + 12 + + + + + + equivClass + id + + + 12 + + + + + + equivClass + relativePath + + + 12 + + + + + + + + tokens + 1 + + + id + 1 + + + offset + 1 + + + beginLine + 1 + + + beginColumn + 1 + + + endLine + 1 + + + endColumn + 1 + + + + + id + offset + + + 12 + + + + + + id + beginLine + + + 12 + + + + + + id + beginColumn + + + 12 + + + + + + id + endLine + + + 12 + + + + + + id + endColumn + + + 12 + + + + + + offset + id + + + 12 + + + + + + offset + beginLine + + + 12 + + + + + + offset + beginColumn + + + 12 + + + + + + offset + endLine + + + 12 + + + + + + offset + endColumn + + + 12 + + + + + + beginLine + id + + + 12 + + + + + + beginLine + offset + + + 12 + + + + + + beginLine + beginColumn + + + 12 + + + + + + beginLine + endLine + + + 12 + + + + + + beginLine + endColumn + + + 12 + + + + + + beginColumn + id + + + 12 + + + + + + beginColumn + offset + + + 12 + + + + + + beginColumn + beginLine + + + 12 + + + + + + beginColumn + endLine + + + 12 + + + + + + beginColumn + endColumn + + + 12 + + + + + + endLine + id + + + 12 + + + + + + endLine + offset + + + 12 + + + + + + endLine + beginLine + + + 12 + + + + + + endLine + beginColumn + + + 12 + + + + + + endLine + endColumn + + + 12 + + + + + + endColumn + id + + + 12 + + + + + + endColumn + offset + + + 12 + + + + + + endColumn + beginLine + + + 12 + + + + + + endColumn + beginColumn + + + 12 + + + + + + endColumn + endLine + + + 12 + + + + + + + + smap_header + 1 + + + outputFileId + 1 + + + outputFilename + 1 + + + defaultStratum + 1 + + + + + outputFileId + outputFilename + + + 12 + + + + + + outputFileId + defaultStratum + + + 12 + + + + + + outputFilename + outputFileId + + + 12 + + + + + + outputFilename + defaultStratum + + + 12 + + + + + + defaultStratum + outputFileId + + + 12 + + + + + + defaultStratum + outputFilename + + + 12 + + + + + + + + smap_files + 1 + + + outputFileId + 1 + + + stratum + 1 + + + inputFileNum + 1 + + + inputFileName + 1 + + + inputFileId + 1 + + + + + outputFileId + stratum + + + 12 + + + + + + outputFileId + inputFileNum + + + 12 + + + + + + outputFileId + inputFileName + + + 12 + + + + + + outputFileId + inputFileId + + + 12 + + + + + + stratum + outputFileId + + + 12 + + + + + + stratum + inputFileNum + + + 12 + + + + + + stratum + inputFileName + + + 12 + + + + + + stratum + inputFileId + + + 12 + + + + + + inputFileNum + outputFileId + + + 12 + + + + + + inputFileNum + stratum + + + 12 + + + + + + inputFileNum + inputFileName + + + 12 + + + + + + inputFileNum + inputFileId + + + 12 + + + + + + inputFileName + outputFileId + + + 12 + + + + + + inputFileName + stratum + + + 12 + + + + + + inputFileName + inputFileNum + + + 12 + + + + + + inputFileName + inputFileId + + + 12 + + + + + + inputFileId + outputFileId + + + 12 + + + + + + inputFileId + stratum + + + 12 + + + + + + inputFileId + inputFileNum + + + 12 + + + + + + inputFileId + inputFileName + + + 12 + + + + + + + + smap_lines + 1 + + + outputFileId + 1 + + + stratum + 1 + + + inputFileNum + 1 + + + inputStartLine + 1 + + + inputLineCount + 1 + + + outputStartLine + 1 + + + outputLineIncrement + 1 + + + + + outputFileId + stratum + + + 12 + + + + + + outputFileId + inputFileNum + + + 12 + + + + + + outputFileId + inputStartLine + + + 12 + + + + + + outputFileId + inputLineCount + + + 12 + + + + + + outputFileId + outputStartLine + + + 12 + + + + + + outputFileId + outputLineIncrement + + + 12 + + + + + + stratum + outputFileId + + + 12 + + + + + + stratum + inputFileNum + + + 12 + + + + + + stratum + inputStartLine + + + 12 + + + + + + stratum + inputLineCount + + + 12 + + + + + + stratum + outputStartLine + + + 12 + + + + + + stratum + outputLineIncrement + + + 12 + + + + + + inputFileNum + outputFileId + + + 12 + + + + + + inputFileNum + stratum + + + 12 + + + + + + inputFileNum + inputStartLine + + + 12 + + + + + + inputFileNum + inputLineCount + + + 12 + + + + + + inputFileNum + outputStartLine + + + 12 + + + + + + inputFileNum + outputLineIncrement + + + 12 + + + + + + inputStartLine + outputFileId + + + 12 + + + + + + inputStartLine + stratum + + + 12 + + + + + + inputStartLine + inputFileNum + + + 12 + + + + + + inputStartLine + inputLineCount + + + 12 + + + + + + inputStartLine + outputStartLine + + + 12 + + + + + + inputStartLine + outputLineIncrement + + + 12 + + + + + + inputLineCount + outputFileId + + + 12 + + + + + + inputLineCount + stratum + + + 12 + + + + + + inputLineCount + inputFileNum + + + 12 + + + + + + inputLineCount + inputStartLine + + + 12 + + + + + + inputLineCount + outputStartLine + + + 12 + + + + + + inputLineCount + outputLineIncrement + + + 12 + + + + + + outputStartLine + outputFileId + + + 12 + + + + + + outputStartLine + stratum + + + 12 + + + + + + outputStartLine + inputFileNum + + + 12 + + + + + + outputStartLine + inputStartLine + + + 12 + + + + + + outputStartLine + inputLineCount + + + 12 + + + + + + outputStartLine + outputLineIncrement + + + 12 + + + + + + outputLineIncrement + outputFileId + + + 12 + + + + + + outputLineIncrement + stratum + + + 12 + + + + + + outputLineIncrement + inputFileNum + + + 12 + + + + + + outputLineIncrement + inputStartLine + + + 12 + + + + + + outputLineIncrement + inputLineCount + + + 12 + + + + + + outputLineIncrement + outputStartLine + + + 12 + + + + + + + + locations_default + 602747369 + + + id + 602747369 + + + file + 9158642 + + + beginLine + 3943517 + + + beginColumn + 247790 + + + endLine + 3945438 + + + endColumn + 873989 + + + + + id + file + + + 12 + + + 1 + 2 + 602747369 + + + + + + + id + beginLine + + + 12 + + + 1 + 2 + 602747369 + + + + + + + id + beginColumn + + + 12 + + + 1 + 2 + 602747369 + + + + + + + id + endLine + + + 12 + + + 1 + 2 + 602747369 + + + + + + + id + endColumn + + + 12 + + + 1 + 2 + 602747369 + + + + + + + file + id + + + 12 + + + 1 + 2 + 7986919 + + + 2 + 11 + 714558 + + + 11 + 3605 + 457163 + + + + + + + file + beginLine + + + 12 + + + 1 + 2 + 7986919 + + + 2 + 9 + 712637 + + + 9 + 1830 + 459084 + + + + + + + file + beginColumn + + + 12 + + + 1 + 2 + 7986919 + + + 2 + 5 + 776025 + + + 5 + 105 + 395696 + + + + + + + file + endLine + + + 12 + + + 1 + 2 + 7986919 + + + 2 + 10 + 693429 + + + 10 + 1834 + 478293 + + + + + + + file + endColumn + + + 12 + + + 1 + 2 + 7986919 + + + 2 + 9 + 695349 + + + 9 + 205 + 476372 + + + + + + + beginLine + id + + + 12 + + + 1 + 14 + 313099 + + + 14 + 125 + 301574 + + + 125 + 142 + 307336 + + + 142 + 152 + 316941 + + + 152 + 159 + 359200 + + + 159 + 164 + 272761 + + + 164 + 169 + 343833 + + + 169 + 173 + 299653 + + + 173 + 178 + 332308 + + + 178 + 184 + 347674 + + + 184 + 193 + 316941 + + + 193 + 211 + 297732 + + + 211 + 4769 + 134459 + + + + + + + beginLine + file + + + 12 + + + 1 + 7 + 322703 + + + 7 + 65 + 299653 + + + 65 + 73 + 307336 + + + 73 + 78 + 295811 + + + 78 + 81 + 265078 + + + 81 + 84 + 357279 + + + 84 + 86 + 299653 + + + 86 + 87 + 188243 + + + 87 + 89 + 357279 + + + 89 + 91 + 259315 + + + 91 + 94 + 324624 + + + 94 + 99 + 328466 + + + 99 + 141 + 295811 + + + 141 + 4769 + 42258 + + + + + + + beginLine + beginColumn + + + 12 + + + 1 + 5 + 313099 + + + 5 + 17 + 280444 + + + 17 + 19 + 251632 + + + 19 + 20 + 309257 + + + 20 + 21 + 403379 + + + 21 + 22 + 420667 + + + 22 + 23 + 476372 + + + 23 + 24 + 457163 + + + 24 + 25 + 339991 + + + 25 + 26 + 213215 + + + 26 + 29 + 361120 + + + 29 + 40 + 117172 + + + + + + + beginLine + endLine + + + 12 + + + 1 + 2 + 1273527 + + + 2 + 3 + 1265844 + + + 3 + 4 + 674220 + + + 4 + 5 + 299653 + + + 5 + 11 + 307336 + + + 11 + 97 + 122934 + + + + + + + beginLine + endColumn + + + 12 + + + 1 + 13 + 309257 + + + 13 + 60 + 307336 + + + 60 + 64 + 311178 + + + 64 + 66 + 311178 + + + 66 + 68 + 353437 + + + 68 + 69 + 194006 + + + 69 + 70 + 217056 + + + 70 + 72 + 359200 + + + 72 + 74 + 322703 + + + 74 + 76 + 245869 + + + 76 + 79 + 330387 + + + 79 + 83 + 295811 + + + 83 + 91 + 316941 + + + 91 + 103 + 69150 + + + + + + + beginColumn + id + + + 12 + + + 1 + 11 + 21129 + + + 15 + 24 + 21129 + + + 28 + 57 + 19208 + + + 57 + 79 + 19208 + + + 87 + 119 + 19208 + + + 130 + 177 + 19208 + + + 195 + 269 + 19208 + + + 270 + 436 + 19208 + + + 443 + 835 + 19208 + + + 844 + 1367 + 19208 + + + 1419 + 2155 + 19208 + + + 2252 + 2517 + 19208 + + + 2521 + 226452 + 13445 + + + + + + + beginColumn + file + + + 12 + + + 1 + 9 + 17287 + + + 9 + 11 + 21129 + + + 11 + 15 + 15366 + + + 15 + 19 + 21129 + + + 23 + 68 + 19208 + + + 69 + 78 + 19208 + + + 79 + 100 + 13445 + + + 100 + 104 + 21129 + + + 104 + 109 + 19208 + + + 109 + 112 + 13445 + + + 112 + 115 + 19208 + + + 115 + 117 + 19208 + + + 117 + 123 + 19208 + + + 145 + 4769 + 9604 + + + + + + + beginColumn + beginLine + + + 12 + + + 1 + 10 + 21129 + + + 10 + 22 + 21129 + + + 23 + 39 + 19208 + + + 41 + 58 + 19208 + + + 58 + 84 + 19208 + + + 84 + 106 + 19208 + + + 108 + 166 + 19208 + + + 167 + 225 + 19208 + + + 230 + 376 + 19208 + + + 381 + 647 + 19208 + + + 657 + 941 + 19208 + + + 941 + 1090 + 19208 + + + 1102 + 2051 + 13445 + + + + + + + beginColumn + endLine + + + 12 + + + 1 + 10 + 21129 + + + 10 + 22 + 21129 + + + 23 + 39 + 19208 + + + 41 + 59 + 19208 + + + 59 + 86 + 19208 + + + 86 + 109 + 19208 + + + 114 + 168 + 19208 + + + 170 + 224 + 19208 + + + 229 + 379 + 19208 + + + 382 + 647 + 19208 + + + 658 + 941 + 19208 + + + 941 + 1089 + 19208 + + + 1102 + 2051 + 13445 + + + + + + + beginColumn + endColumn + + + 12 + + + 1 + 8 + 21129 + + + 8 + 16 + 21129 + + + 16 + 23 + 21129 + + + 24 + 31 + 21129 + + + 32 + 37 + 21129 + + + 37 + 50 + 19208 + + + 50 + 60 + 19208 + + + 60 + 68 + 19208 + + + 68 + 80 + 19208 + + + 81 + 101 + 19208 + + + 101 + 121 + 19208 + + + 126 + 158 + 19208 + + + 159 + 393 + 7683 + + + + + + + endLine + id + + + 12 + + + 1 + 14 + 309257 + + + 14 + 124 + 305416 + + + 124 + 143 + 309257 + + + 143 + 152 + 334228 + + + 152 + 159 + 322703 + + + 159 + 164 + 299653 + + + 164 + 169 + 341912 + + + 169 + 173 + 309257 + + + 173 + 178 + 338070 + + + 178 + 184 + 305416 + + + 184 + 193 + 315020 + + + 193 + 212 + 301574 + + + 212 + 4769 + 153668 + + + + + + + endLine + file + + + 12 + + + 1 + 7 + 324624 + + + 7 + 66 + 318862 + + + 66 + 74 + 320782 + + + 74 + 80 + 355358 + + + 80 + 83 + 339991 + + + 83 + 85 + 268919 + + + 85 + 87 + 343833 + + + 87 + 89 + 355358 + + + 89 + 91 + 266999 + + + 91 + 94 + 345754 + + + 94 + 99 + 324624 + + + 99 + 130 + 301574 + + + 131 + 4769 + 78755 + + + + + + + endLine + beginLine + + + 12 + + + 1 + 2 + 1000766 + + + 2 + 3 + 1392620 + + + 3 + 4 + 908564 + + + 4 + 6 + 336149 + + + 6 + 19 + 299653 + + + 19 + 22 + 7683 + + + + + + + endLine + beginColumn + + + 12 + + + 1 + 5 + 309257 + + + 5 + 17 + 284286 + + + 17 + 19 + 232423 + + + 19 + 20 + 280444 + + + 20 + 21 + 420667 + + + 21 + 22 + 407221 + + + 22 + 23 + 482134 + + + 23 + 24 + 437955 + + + 24 + 25 + 334228 + + + 25 + 26 + 259315 + + + 26 + 29 + 363041 + + + 29 + 39 + 134459 + + + + + + + endLine + endColumn + + + 12 + + + 1 + 13 + 313099 + + + 13 + 60 + 305416 + + + 60 + 64 + 305416 + + + 64 + 66 + 303495 + + + 66 + 68 + 357279 + + + 68 + 69 + 197848 + + + 69 + 70 + 201689 + + + 70 + 71 + 218977 + + + 71 + 73 + 326545 + + + 73 + 75 + 263157 + + + 75 + 77 + 257394 + + + 77 + 80 + 299653 + + + 80 + 85 + 318862 + + + 85 + 119 + 276603 + + + + + + + endColumn + id + + + 12 + + + 1 + 2 + 205531 + + + 2 + 3 + 90280 + + + 3 + 5 + 71071 + + + 5 + 13 + 71071 + + + 13 + 53 + 67229 + + + 53 + 138 + 67229 + + + 142 + 346 + 67229 + + + 357 + 967 + 67229 + + + 1050 + 2386 + 67229 + + + 2392 + 4902 + 67229 + + + 4949 + 5933 + 32654 + + + + + + + endColumn + file + + + 12 + + + 1 + 2 + 213215 + + + 2 + 3 + 86438 + + + 3 + 5 + 74913 + + + 5 + 13 + 71071 + + + 13 + 42 + 67229 + + + 42 + 77 + 67229 + + + 77 + 102 + 69150 + + + 102 + 114 + 67229 + + + 114 + 139 + 67229 + + + 139 + 169 + 69150 + + + 173 + 4769 + 21129 + + + + + + + endColumn + beginLine + + + 12 + + + 1 + 2 + 217056 + + + 2 + 3 + 88359 + + + 3 + 5 + 69150 + + + 5 + 13 + 69150 + + + 13 + 50 + 67229 + + + 50 + 113 + 67229 + + + 114 + 266 + 67229 + + + 269 + 636 + 67229 + + + 648 + 1197 + 67229 + + + 1198 + 1635 + 69150 + + + 1639 + 1722 + 24971 + + + + + + + endColumn + beginColumn + + + 12 + + + 1 + 2 + 274682 + + + 2 + 3 + 105647 + + + 3 + 6 + 76834 + + + 6 + 14 + 76834 + + + 14 + 25 + 74913 + + + 25 + 36 + 71071 + + + 36 + 47 + 67229 + + + 47 + 54 + 67229 + + + 54 + 65 + 59546 + + + + + + + endColumn + endLine + + + 12 + + + 1 + 2 + 217056 + + + 2 + 3 + 86438 + + + 3 + 5 + 69150 + + + 5 + 13 + 69150 + + + 13 + 51 + 67229 + + + 51 + 112 + 67229 + + + 112 + 262 + 67229 + + + 262 + 630 + 67229 + + + 637 + 1186 + 67229 + + + 1197 + 1625 + 67229 + + + 1632 + 1722 + 28812 + + + + + + + + + hasLocation + 340930835 + + + locatableid + 340658074 + + + id + 12195515 + + + + + locatableid + id + + + 12 + + + 1 + 2 + 340385312 + + + 2 + 3 + 272761 + + + + + + + id + locatableid + + + 12 + + + 1 + 2 + 2091812 + + + 2 + 3 + 1333074 + + + 3 + 4 + 772184 + + + 4 + 6 + 1085283 + + + 6 + 8 + 1062233 + + + 8 + 11 + 1100650 + + + 11 + 15 + 1048787 + + + 15 + 21 + 964269 + + + 21 + 32 + 916248 + + + 32 + 64 + 920090 + + + 64 + 9549 + 900881 + + + + + + + + + numlines + 303305105 + + + element_id + 303305105 + + + num_lines + 618515 + + + num_code + 612753 + + + num_comment + 1893964 + + + + + element_id + num_lines + + + 12 + + + 1 + 2 + 303305105 + + + + + + + element_id + num_code + + + 12 + + + 1 + 2 + 303305105 + + + + + + + element_id + num_comment + + + 12 + + + 1 + 2 + 303305105 + + + + + + + num_lines + element_id + + + 12 + + + 1 + 2 + 320782 + + + 2 + 3 + 78755 + + + 3 + 4 + 61467 + + + 4 + 7 + 49942 + + + 7 + 14 + 48021 + + + 15 + 194 + 48021 + + + 320 + 149659 + 11525 + + + + + + + num_lines + num_code + + + 12 + + + 1 + 2 + 509026 + + + 2 + 3 + 69150 + + + 3 + 6 + 40337 + + + + + + + num_lines + num_comment + + + 12 + + + 1 + 2 + 380329 + + + 2 + 3 + 97963 + + + 3 + 4 + 51863 + + + 4 + 6 + 53783 + + + 6 + 987 + 34575 + + + + + + + num_code + element_id + + + 12 + + + 1 + 2 + 316941 + + + 2 + 3 + 78755 + + + 3 + 4 + 61467 + + + 4 + 7 + 51863 + + + 7 + 15 + 46100 + + + 16 + 214 + 46100 + + + 325 + 78746 + 11525 + + + + + + + num_code + num_lines + + + 12 + + + 1 + 2 + 516710 + + + 2 + 3 + 51863 + + + 3 + 8 + 44179 + + + + + + + num_code + num_comment + + + 12 + + + 1 + 2 + 370725 + + + 2 + 3 + 101805 + + + 3 + 4 + 53783 + + + 4 + 6 + 46100 + + + 6 + 987 + 40337 + + + + + + + num_comment + element_id + + + 12 + + + 1 + 7 + 153668 + + + 7 + 49 + 142143 + + + 49 + 71 + 147905 + + + 71 + 78 + 151747 + + + 78 + 83 + 145985 + + + 83 + 87 + 163272 + + + 87 + 89 + 140222 + + + 89 + 91 + 134459 + + + 91 + 92 + 80675 + + + 92 + 93 + 96042 + + + 93 + 94 + 105647 + + + 94 + 95 + 97963 + + + 95 + 97 + 151747 + + + 97 + 119 + 144064 + + + 120 + 75134 + 38417 + + + + + + + num_comment + num_lines + + + 12 + + + 1 + 2 + 1550130 + + + 2 + 3 + 165193 + + + 3 + 7 + 145985 + + + 7 + 120 + 32654 + + + + + + + num_comment + num_code + + + 12 + + + 1 + 2 + 1550130 + + + 2 + 3 + 165193 + + + 3 + 7 + 145985 + + + 7 + 122 + 32654 + + + + + + + + + files + 9158642 + + + id + 9158642 + + + name + 9158642 + + + + + id + name + + + 12 + + + 1 + 2 + 9158642 + + + + + + + name + id + + + 12 + + + 1 + 2 + 9158642 + + + + + + + + + folders + 1415670 + + + id + 1415670 + + + name + 1415670 + + + + + id + name + + + 12 + + + 1 + 2 + 1415670 + + + + + + + name + id + + + 12 + + + 1 + 2 + 1415670 + + + + + + + + + containerparent + 10570471 + + + parent + 1463692 + + + child + 10570471 + + + + + parent + child + + + 12 + + + 1 + 2 + 843255 + + + 2 + 3 + 149826 + + + 3 + 5 + 128697 + + + 5 + 11 + 124855 + + + 11 + 21 + 113330 + + + 21 + 194 + 103726 + + + + + + + child + parent + + + 12 + + + 1 + 2 + 10570471 + + + + + + + + + cupackage + 7979236 + + + id + 7979236 + + + packageid + 576256 + + + + + id + packageid + + + 12 + + + 1 + 2 + 7979236 + + + + + + + packageid + id + + + 12 + + + 1 + 2 + 121013 + + + 2 + 3 + 80675 + + + 3 + 4 + 42258 + + + 4 + 6 + 49942 + + + 6 + 9 + 49942 + + + 9 + 12 + 51863 + + + 12 + 17 + 48021 + + + 17 + 23 + 46100 + + + 24 + 43 + 44179 + + + 43 + 187 + 42258 + + + + + + + + + jarManifestMain + 172742 + + + fileid + 13275 + + + keyName + 12611 + + + value + 89772 + + + + + fileid + keyName + + + 12 + + + 1 + 4 + 995 + + + 5 + 6 + 2323 + + + 6 + 7 + 2157 + + + 9 + 13 + 1161 + + + 13 + 15 + 1161 + + + 15 + 17 + 829 + + + 17 + 18 + 829 + + + 19 + 21 + 829 + + + 21 + 24 + 1161 + + + 24 + 27 + 1161 + + + 28 + 35 + 663 + + + + + + + fileid + value + + + 12 + + + 1 + 4 + 995 + + + 5 + 6 + 2489 + + + 6 + 7 + 1991 + + + 8 + 10 + 663 + + + 10 + 12 + 995 + + + 12 + 13 + 663 + + + 14 + 15 + 995 + + + 15 + 17 + 1161 + + + 17 + 18 + 829 + + + 18 + 20 + 1161 + + + 21 + 24 + 1161 + + + 29 + 30 + 165 + + + + + + + keyName + fileid + + + 12 + + + 1 + 2 + 5144 + + + 2 + 3 + 829 + + + 3 + 4 + 829 + + + 5 + 8 + 995 + + + 10 + 20 + 995 + + + 24 + 28 + 829 + + + 28 + 31 + 995 + + + 32 + 38 + 995 + + + 39 + 81 + 995 + + + + + + + keyName + value + + + 12 + + + 1 + 2 + 5807 + + + 2 + 3 + 995 + + + 3 + 5 + 995 + + + 5 + 8 + 995 + + + 10 + 16 + 1161 + + + 17 + 26 + 1161 + + + 27 + 36 + 995 + + + 37 + 53 + 497 + + + + + + + value + fileid + + + 12 + + + 1 + 2 + 75999 + + + 2 + 3 + 4480 + + + 3 + 6 + 6969 + + + 6 + 81 + 2323 + + + + + + + value + keyName + + + 12 + + + 1 + 2 + 75668 + + + 2 + 3 + 8794 + + + 3 + 6 + 5310 + + + + + + + + + jarManifestEntries + 30201 + + + fileid + 61 + + + entryName + 30129 + + + keyName + 27 + + + value + 30163 + + + + + fileid + entryName + + + 12 + + + 1 + 2 + 4 + + + 4 + 10 + 3 + + + 10 + 12 + 4 + + + 12 + 31 + 4 + + + 65 + 82 + 4 + + + 123 + 164 + 4 + + + 178 + 240 + 4 + + + 253 + 294 + 4 + + + 307 + 357 + 4 + + + 361 + 395 + 4 + + + 433 + 461 + 4 + + + 591 + 662 + 4 + + + 957 + 2267 + 4 + + + 3647 + 3762 + 3 + + + + + + + fileid + keyName + + + 12 + + + 1 + 2 + 57 + + + 6 + 10 + 3 + + + + + + + fileid + value + + + 12 + + + 1 + 2 + 4 + + + 3 + 8 + 4 + + + 9 + 13 + 4 + + + 24 + 66 + 4 + + + 70 + 124 + 4 + + + 127 + 179 + 4 + + + 195 + 254 + 4 + + + 265 + 308 + 4 + + + 320 + 362 + 4 + + + 381 + 434 + 4 + + + 434 + 592 + 4 + + + 618 + 958 + 4 + + + 1671 + 3648 + 4 + + + 3761 + 3762 + 1 + + + + + + + entryName + fileid + + + 12 + + + 1 + 2 + 30113 + + + 2 + 26 + 16 + + + + + + + entryName + keyName + + + 12 + + + 1 + 2 + 30126 + + + 6 + 10 + 3 + + + + + + + entryName + value + + + 12 + + + 1 + 2 + 30125 + + + 3 + 26 + 4 + + + + + + + keyName + fileid + + + 12 + + + 1 + 2 + 21 + + + 2 + 3 + 3 + + + 3 + 4 + 1 + + + 32 + 33 + 1 + + + + + + + keyName + entryName + + + 12 + + + 1 + 2 + 21 + + + 2 + 3 + 1 + + + 11 + 12 + 1 + + + 369 + 370 + 1 + + + 19366 + 19367 + 1 + + + + + + + keyName + value + + + 12 + + + 1 + 2 + 22 + + + 2 + 3 + 1 + + + 369 + 370 + 1 + + + 19390 + 19391 + 1 + + + + + + + value + fileid + + + 12 + + + 1 + 2 + 30162 + + + 2 + 3 + 1 + + + + + + + value + entryName + + + 12 + + + 1 + 2 + 30162 + + + 11 + 12 + 1 + + + + + + + value + keyName + + + 12 + + + 1 + 2 + 30155 + + + 2 + 3 + 7 + + + + + + + + + packages + 580098 + + + id + 580098 + + + nodeName + 580098 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 580098 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 580098 + + + + + + + + + primitives + 17287 + + + id + 17287 + + + nodeName + 17287 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 17287 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 17287 + + + + + + + + + modifiers + 26891 + + + id + 26891 + + + nodeName + 26891 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 26891 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 26891 + + + + + + + + + error_type + 1 + + + id + 1 + + + + + + classes + 12618104 + + + id + 12618104 + + + nodeName + 6732600 + + + parentid + 455242 + + + sourceid + 5253541 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 12618104 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 12618104 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 12618104 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 5601216 + + + 2 + 3 + 726083 + + + 3 + 204 + 405300 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 5950812 + + + 2 + 3 + 731846 + + + 3 + 52 + 49942 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 5921999 + + + 2 + 3 + 714558 + + + 3 + 160 + 96042 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 94121 + + + 2 + 3 + 46100 + + + 3 + 4 + 30733 + + + 4 + 5 + 26891 + + + 5 + 6 + 24971 + + + 6 + 8 + 40337 + + + 8 + 12 + 32654 + + + 12 + 18 + 38417 + + + 18 + 23 + 34575 + + + 23 + 40 + 36496 + + + 40 + 76 + 34575 + + + 83 + 891 + 15366 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 96042 + + + 2 + 3 + 46100 + + + 3 + 4 + 34575 + + + 4 + 5 + 28812 + + + 5 + 6 + 36496 + + + 6 + 9 + 40337 + + + 9 + 13 + 40337 + + + 13 + 18 + 26891 + + + 18 + 25 + 38417 + + + 26 + 41 + 36496 + + + 41 + 479 + 30733 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 99884 + + + 2 + 3 + 57625 + + + 3 + 4 + 36496 + + + 4 + 5 + 32654 + + + 5 + 6 + 32654 + + + 6 + 8 + 34575 + + + 8 + 12 + 38417 + + + 12 + 18 + 32654 + + + 18 + 25 + 34575 + + + 25 + 47 + 34575 + + + 51 + 138 + 21129 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 4694572 + + + 2 + 11 + 407221 + + + 11 + 426 + 151747 + + + + + + + sourceid + nodeName + + + 12 + + + 1 + 2 + 4694572 + + + 2 + 6 + 426430 + + + 6 + 224 + 132539 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 5253541 + + + + + + + + + file_class + 17287 + + + id + 17287 + + + + + + class_object + 163272 + + + id + 163272 + + + instance + 163272 + + + + + id + instance + + + 12 + + + 1 + 2 + 163272 + + + + + + + instance + id + + + 12 + + + 1 + 2 + 163272 + + + + + + + + + type_companion_object + 307336 + + + id + 307336 + + + instance + 307336 + + + companion_object + 307336 + + + + + id + instance + + + 12 + + + 1 + 2 + 307336 + + + + + + + id + companion_object + + + 12 + + + 1 + 2 + 307336 + + + + + + + instance + id + + + 12 + + + 1 + 2 + 307336 + + + + + + + instance + companion_object + + + 12 + + + 1 + 2 + 307336 + + + + + + + companion_object + id + + + 12 + + + 1 + 2 + 307336 + + + + + + + companion_object + instance + + + 12 + + + 1 + 2 + 307336 + + + + + + + + + kt_nullable_types + 1920 + + + id + 1920 + + + classid + 1920 + + + + + id + classid + + + 12 + + + 1 + 2 + 1920 + + + + + + + classid + id + + + 12 + + + 1 + 2 + 1920 + + + + + + + + + kt_notnull_types + 172391 + + + id + 172391 + + + classid + 172391 + + + + + id + classid + + + 12 + + + 1 + 2 + 172391 + + + + + + + classid + id + + + 12 + + + 1 + 2 + 172391 + + + + + + + + + kt_type_alias + 1821 + + + id + 1821 + + + name + 1821 + + + kttypeid + 910 + + + + + id + name + + + 12 + + + 1 + 2 + 1821 + + + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 1821 + + + + + + + name + id + + + 12 + + + 1 + 2 + 1821 + + + + + + + name + kttypeid + + + 12 + + + 1 + 2 + 1821 + + + + + + + kttypeid + id + + + 12 + + + 2 + 3 + 910 + + + + + + + kttypeid + name + + + 12 + + + 2 + 3 + 910 + + + + + + + + + isRecord + 417 + + + id + 417 + + + + + + interfaces + 23200100 + + + id + 23200100 + + + nodeName + 8705320 + + + parentid + 430271 + + + sourceid + 2787162 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 23200100 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 23200100 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 23200100 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 6834406 + + + 2 + 3 + 1079521 + + + 3 + 25 + 655011 + + + 25 + 345 + 136380 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 7996524 + + + 2 + 4 + 695349 + + + 4 + 7 + 13445 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 7967711 + + + 2 + 4 + 718400 + + + 4 + 7 + 19208 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 113330 + + + 2 + 3 + 55704 + + + 3 + 4 + 48021 + + + 4 + 5 + 26891 + + + 5 + 8 + 36496 + + + 8 + 13 + 34575 + + + 13 + 18 + 34575 + + + 18 + 41 + 32654 + + + 42 + 182 + 32654 + + + 187 + 4152 + 15366 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 113330 + + + 2 + 3 + 55704 + + + 3 + 4 + 48021 + + + 4 + 5 + 38417 + + + 5 + 7 + 24971 + + + 7 + 10 + 32654 + + + 10 + 15 + 36496 + + + 15 + 28 + 32654 + + + 30 + 94 + 32654 + + + 100 + 1213 + 15366 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 140222 + + + 2 + 3 + 65309 + + + 3 + 4 + 44179 + + + 4 + 5 + 34575 + + + 5 + 7 + 28812 + + + 7 + 9 + 34575 + + + 9 + 14 + 34575 + + + 14 + 26 + 32654 + + + 26 + 160 + 15366 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 2391465 + + + 2 + 11 + 213215 + + + 11 + 1565 + 182481 + + + + + + + sourceid + nodeName + + + 12 + + + 1 + 2 + 2391465 + + + 2 + 6 + 217056 + + + 6 + 492 + 178639 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 2787162 + + + + + + + + + fielddecls + 199475 + + + id + 199475 + + + parentid + 25503 + + + + + id + parentid + + + 12 + + + 1 + 2 + 199475 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 4554 + + + 2 + 3 + 5465 + + + 3 + 4 + 1821 + + + 4 + 6 + 1821 + + + 6 + 7 + 2732 + + + 7 + 9 + 1821 + + + 9 + 10 + 910 + + + 10 + 11 + 1821 + + + 13 + 18 + 1821 + + + 19 + 20 + 1821 + + + 57 + 58 + 910 + + + + + + + + + fieldDeclaredIn + 199475 + + + fieldId + 199475 + + + fieldDeclId + 199475 + + + pos + 910 + + + + + fieldId + fieldDeclId + + + 12 + + + 1 + 2 + 199475 + + + + + + + fieldId + pos + + + 12 + + + 1 + 2 + 199475 + + + + + + + fieldDeclId + fieldId + + + 12 + + + 1 + 2 + 199475 + + + + + + + fieldDeclId + pos + + + 12 + + + 1 + 2 + 199475 + + + + + + + pos + fieldId + + + 12 + + + 219 + 220 + 910 + + + + + + + pos + fieldDeclId + + + 12 + + + 219 + 220 + 910 + + + + + + + + + fields + 19350704 + + + id + 19350704 + + + nodeName + 13628474 + + + typeid + 3038794 + + + parentid + 4089502 + + + sourceid + 19350704 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 19350704 + + + + + + + id + typeid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 12016876 + + + 2 + 3 + 1123700 + + + 3 + 722 + 487897 + + + + + + + nodeName + typeid + + + 12 + + + 1 + 2 + 12416414 + + + 2 + 5 + 1085283 + + + 5 + 160 + 126776 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 12016876 + + + 2 + 3 + 1123700 + + + 3 + 722 + 487897 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 12016876 + + + 2 + 3 + 1123700 + + + 3 + 722 + 487897 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 2059157 + + + 2 + 3 + 320782 + + + 3 + 4 + 213215 + + + 4 + 8 + 245869 + + + 8 + 2588 + 199769 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 2120625 + + + 2 + 3 + 299653 + + + 3 + 4 + 199769 + + + 4 + 9 + 255473 + + + 9 + 2016 + 163272 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 2706486 + + + 2 + 4 + 251632 + + + 4 + 1014 + 80675 + + + + + + + typeid + sourceid + + + 12 + + + 1 + 2 + 2059157 + + + 2 + 3 + 320782 + + + 3 + 4 + 213215 + + + 4 + 8 + 245869 + + + 8 + 2588 + 199769 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 2427962 + + + 2 + 3 + 478293 + + + 3 + 4 + 303495 + + + 4 + 6 + 338070 + + + 6 + 13 + 330387 + + + 13 + 1610 + 211294 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 2427962 + + + 2 + 3 + 478293 + + + 3 + 4 + 303495 + + + 4 + 6 + 338070 + + + 6 + 13 + 330387 + + + 13 + 1610 + 211294 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 3031110 + + + 2 + 3 + 595465 + + + 3 + 5 + 347674 + + + 5 + 76 + 115251 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 2427962 + + + 2 + 3 + 478293 + + + 3 + 4 + 303495 + + + 4 + 6 + 338070 + + + 6 + 13 + 330387 + + + 13 + 1610 + 211294 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 19350704 + + + + + + + sourceid + nodeName + + + 12 + + + 1 + 2 + 19350704 + + + + + + + sourceid + typeid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + + + fieldsKotlinType + 19350704 + + + id + 19350704 + + + kttypeid + 1920 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 19350704 + + + + + + + kttypeid + id + + + 12 + + + 10074 + 10075 + 1920 + + + + + + + + + constrs + 8006128 + + + id + 8006128 + + + nodeName + 4333451 + + + signature + 6803672 + + + typeid + 3841 + + + parentid + 5639633 + + + sourceid + 5720309 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 8006128 + + + + + + + id + signature + + + 12 + + + 1 + 2 + 8006128 + + + + + + + id + typeid + + + 12 + + + 1 + 2 + 8006128 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 8006128 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 8006128 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 2623889 + + + 2 + 3 + 1085283 + + + 3 + 4 + 259315 + + + 4 + 11 + 326545 + + + 11 + 36 + 38417 + + + + + + + nodeName + signature + + + 12 + + + 1 + 2 + 2977327 + + + 2 + 3 + 868226 + + + 3 + 5 + 341912 + + + 5 + 19 + 145985 + + + + + + + nodeName + typeid + + + 12 + + + 1 + 2 + 4333451 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 3764878 + + + 2 + 3 + 401458 + + + 3 + 36 + 167114 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 2737220 + + + 2 + 3 + 1083362 + + + 3 + 5 + 353437 + + + 5 + 32 + 159431 + + + + + + + signature + id + + + 12 + + + 1 + 2 + 6302329 + + + 2 + 36 + 501343 + + + + + + + signature + nodeName + + + 12 + + + 1 + 2 + 6803672 + + + + + + + signature + typeid + + + 12 + + + 1 + 2 + 6803672 + + + + + + + signature + parentid + + + 12 + + + 1 + 2 + 6302329 + + + 2 + 36 + 501343 + + + + + + + signature + sourceid + + + 12 + + + 1 + 2 + 6461760 + + + 2 + 23 + 341912 + + + + + + + typeid + id + + + 12 + + + 22 + 23 + 1920 + + + 4146 + 4147 + 1920 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 1920 + + + 2255 + 2256 + 1920 + + + + + + + typeid + signature + + + 12 + + + 1 + 2 + 1920 + + + 3541 + 3542 + 1920 + + + + + + + typeid + parentid + + + 12 + + + 22 + 23 + 1920 + + + 2914 + 2915 + 1920 + + + + + + + typeid + sourceid + + + 12 + + + 22 + 23 + 1920 + + + 2956 + 2957 + 1920 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 4256617 + + + 2 + 3 + 895118 + + + 3 + 6 + 434113 + + + 6 + 19 + 53783 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 5639633 + + + + + + + parentid + signature + + + 12 + + + 1 + 2 + 4256617 + + + 2 + 3 + 895118 + + + 3 + 6 + 434113 + + + 6 + 19 + 53783 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 5639633 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 4256617 + + + 2 + 3 + 895118 + + + 3 + 6 + 434113 + + + 6 + 19 + 53783 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 5357267 + + + 2 + 209 + 363041 + + + + + + + sourceid + nodeName + + + 12 + + + 1 + 2 + 5357267 + + + 2 + 172 + 363041 + + + + + + + sourceid + signature + + + 12 + + + 1 + 2 + 5357267 + + + 2 + 172 + 363041 + + + + + + + sourceid + typeid + + + 12 + + + 1 + 2 + 5720309 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 5357267 + + + 2 + 209 + 363041 + + + + + + + + + constrsKotlinType + 8006128 + + + id + 8006128 + + + kttypeid + 1920 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 8006128 + + + + + + + kttypeid + id + + + 12 + + + 4168 + 4169 + 1920 + + + + + + + + + methods + 109719302 + + + id + 109719302 + + + nodeName + 22908130 + + + signature + 33369112 + + + typeid + 13338425 + + + parentid + 12810189 + + + sourceid + 67091663 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 109719302 + + + + + + + id + signature + + + 12 + + + 1 + 2 + 109719302 + + + + + + + id + typeid + + + 12 + + + 1 + 2 + 109719302 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 109719302 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 109719302 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 13324979 + + + 2 + 3 + 4070294 + + + 3 + 4 + 1573181 + + + 4 + 7 + 2026503 + + + 7 + 56 + 1719166 + + + 57 + 1769 + 194006 + + + + + + + nodeName + signature + + + 12 + + + 1 + 2 + 19150935 + + + 2 + 3 + 2228193 + + + 3 + 298 + 1529001 + + + + + + + nodeName + typeid + + + 12 + + + 1 + 2 + 19179748 + + + 2 + 3 + 1872834 + + + 3 + 25 + 1726849 + + + 25 + 741 + 128697 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 14028012 + + + 2 + 3 + 3889733 + + + 3 + 4 + 1502109 + + + 4 + 7 + 1817129 + + + 7 + 1099 + 1671144 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 13743725 + + + 2 + 3 + 4283509 + + + 3 + 4 + 1544368 + + + 4 + 7 + 1857467 + + + 7 + 800 + 1479059 + + + + + + + signature + id + + + 12 + + + 1 + 2 + 22735253 + + + 2 + 3 + 5434102 + + + 3 + 5 + 2635414 + + + 5 + 157 + 2502875 + + + 157 + 1096 + 61467 + + + + + + + signature + nodeName + + + 12 + + + 1 + 2 + 33369112 + + + + + + + signature + typeid + + + 12 + + + 1 + 2 + 29957672 + + + 2 + 5 + 2650781 + + + 5 + 739 + 760659 + + + + + + + signature + parentid + + + 12 + + + 1 + 2 + 22741015 + + + 2 + 3 + 5432181 + + + 3 + 5 + 2631572 + + + 5 + 157 + 2502875 + + + 157 + 1096 + 61467 + + + + + + + signature + sourceid + + + 12 + + + 1 + 2 + 23365294 + + + 2 + 3 + 5656921 + + + 3 + 6 + 2900492 + + + 6 + 795 + 1446404 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 6603903 + + + 2 + 3 + 2729536 + + + 3 + 4 + 1208218 + + + 4 + 6 + 1119859 + + + 6 + 15 + 1019974 + + + 15 + 10335 + 656932 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 8714924 + + + 2 + 3 + 2620047 + + + 3 + 6 + 1167880 + + + 6 + 2888 + 835572 + + + + + + + typeid + signature + + + 12 + + + 1 + 2 + 8565097 + + + 2 + 3 + 2602760 + + + 3 + 6 + 1210139 + + + 6 + 4142 + 960428 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 7714158 + + + 2 + 3 + 2869759 + + + 3 + 4 + 1108333 + + + 4 + 8 + 1069916 + + + 8 + 2865 + 576256 + + + + + + + typeid + sourceid + + + 12 + + + 1 + 2 + 7166714 + + + 2 + 3 + 2524004 + + + 3 + 4 + 1096808 + + + 4 + 6 + 1094888 + + + 6 + 16 + 1016132 + + + 16 + 6435 + 439876 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 3630418 + + + 2 + 3 + 1456008 + + + 3 + 4 + 1164038 + + + 4 + 5 + 735687 + + + 5 + 7 + 1021895 + + + 7 + 10 + 1106413 + + + 10 + 13 + 1146751 + + + 13 + 21 + 1181326 + + + 21 + 40 + 1021895 + + + 40 + 319 + 345754 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 3678439 + + + 2 + 3 + 1457929 + + + 3 + 4 + 1231268 + + + 4 + 5 + 791392 + + + 5 + 7 + 960428 + + + 7 + 10 + 1183247 + + + 10 + 13 + 1102571 + + + 13 + 18 + 849018 + + + 18 + 26 + 968111 + + + 26 + 290 + 587781 + + + + + + + parentid + signature + + + 12 + + + 1 + 2 + 3630418 + + + 2 + 3 + 1456008 + + + 3 + 4 + 1164038 + + + 4 + 5 + 735687 + + + 5 + 7 + 1021895 + + + 7 + 10 + 1106413 + + + 10 + 13 + 1146751 + + + 13 + 21 + 1181326 + + + 21 + 40 + 1021895 + + + 40 + 319 + 345754 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 4348818 + + + 2 + 3 + 1757583 + + + 3 + 4 + 1436800 + + + 4 + 5 + 922010 + + + 5 + 6 + 743371 + + + 6 + 7 + 564731 + + + 7 + 8 + 879752 + + + 8 + 11 + 1160197 + + + 11 + 31 + 964269 + + + 33 + 78 + 32654 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 3630418 + + + 2 + 3 + 1456008 + + + 3 + 4 + 1164038 + + + 4 + 5 + 735687 + + + 5 + 7 + 1021895 + + + 7 + 10 + 1106413 + + + 10 + 13 + 1146751 + + + 13 + 21 + 1181326 + + + 21 + 40 + 1021895 + + + 40 + 319 + 345754 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 61836200 + + + 2 + 50 + 5032643 + + + 52 + 286 + 222819 + + + + + + + sourceid + nodeName + + + 12 + + + 1 + 2 + 67091663 + + + + + + + sourceid + signature + + + 12 + + + 1 + 2 + 66767038 + + + 2 + 284 + 324624 + + + + + + + sourceid + typeid + + + 12 + + + 1 + 2 + 65030584 + + + 2 + 209 + 2061078 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 61836200 + + + 2 + 50 + 5032643 + + + 52 + 286 + 222819 + + + + + + + + + methodsKotlinType + 109719302 + + + id + 109719302 + + + kttypeid + 1920 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 109719302 + + + + + + + kttypeid + id + + + 12 + + + 57120 + 57121 + 1920 + + + + + + + + + params + 120852585 + + + id + 120852585 + + + typeid + 12833239 + + + pos + 42258 + + + parentid + 65007534 + + + sourceid + 73639861 + + + + + id + typeid + + + 12 + + + 1 + 2 + 120852585 + + + + + + + id + pos + + + 12 + + + 1 + 2 + 120852585 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 120852585 + + + + + + + id + sourceid + + + 12 + + + 1 + 2 + 120852585 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 6763334 + + + 2 + 3 + 1945827 + + + 3 + 4 + 948902 + + + 4 + 6 + 1148671 + + + 6 + 12 + 1018053 + + + 12 + 326 + 966190 + + + 343 + 6738 + 42258 + + + + + + + typeid + pos + + + 12 + + + 1 + 2 + 10436011 + + + 2 + 3 + 1342678 + + + 3 + 8 + 964269 + + + 8 + 17 + 90280 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 7005362 + + + 2 + 3 + 1895885 + + + 3 + 4 + 975794 + + + 4 + 6 + 1087204 + + + 6 + 13 + 1008449 + + + 13 + 4326 + 860543 + + + + + + + typeid + sourceid + + + 12 + + + 1 + 2 + 7216656 + + + 2 + 3 + 1788317 + + + 3 + 4 + 996924 + + + 4 + 6 + 1117938 + + + 6 + 13 + 1002686 + + + 13 + 5757 + 710716 + + + + + + + pos + id + + + 12 + + + 1 + 2 + 3841 + + + 50 + 53 + 3841 + + + 104 + 106 + 3841 + + + 157 + 165 + 3841 + + + 214 + 231 + 3841 + + + 291 + 315 + 3841 + + + 485 + 606 + 3841 + + + 804 + 1067 + 3841 + + + 1445 + 2015 + 3841 + + + 3084 + 5199 + 3841 + + + 12689 + 33844 + 3841 + + + + + + + pos + typeid + + + 12 + + + 1 + 2 + 3841 + + + 2 + 5 + 3841 + + + 6 + 7 + 3841 + + + 11 + 14 + 3841 + + + 15 + 20 + 3841 + + + 27 + 37 + 3841 + + + 57 + 75 + 3841 + + + 97 + 153 + 3841 + + + 201 + 289 + 3841 + + + 403 + 777 + 3841 + + + 1979 + 5089 + 3841 + + + + + + + pos + parentid + + + 12 + + + 1 + 2 + 3841 + + + 50 + 53 + 3841 + + + 104 + 106 + 3841 + + + 157 + 165 + 3841 + + + 214 + 231 + 3841 + + + 291 + 315 + 3841 + + + 485 + 606 + 3841 + + + 804 + 1067 + 3841 + + + 1445 + 2015 + 3841 + + + 3084 + 5199 + 3841 + + + 12689 + 33844 + 3841 + + + + + + + pos + sourceid + + + 12 + + + 1 + 2 + 3841 + + + 2 + 5 + 3841 + + + 6 + 8 + 3841 + + + 11 + 15 + 3841 + + + 16 + 29 + 3841 + + + 39 + 63 + 3841 + + + 101 + 144 + 3841 + + + 210 + 386 + 3841 + + + 628 + 1069 + 3841 + + + 1955 + 3748 + 3841 + + + 8555 + 21355 + 3841 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 40633790 + + + 2 + 3 + 14389133 + + + 3 + 4 + 4060689 + + + 4 + 10 + 4992305 + + + 10 + 23 + 931615 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 45326442 + + + 2 + 3 + 14805959 + + + 3 + 23 + 4875132 + + + + + + + parentid + pos + + + 12 + + + 1 + 2 + 40633790 + + + 2 + 3 + 14389133 + + + 3 + 4 + 4060689 + + + 4 + 10 + 4992305 + + + 10 + 23 + 931615 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 40633790 + + + 2 + 3 + 14389133 + + + 3 + 4 + 4060689 + + + 4 + 10 + 4992305 + + + 10 + 23 + 931615 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 68584168 + + + 2 + 286 + 5055693 + + + + + + + sourceid + typeid + + + 12 + + + 1 + 2 + 71932220 + + + 2 + 286 + 1707641 + + + + + + + sourceid + pos + + + 12 + + + 1 + 2 + 73639861 + + + + + + + sourceid + parentid + + + 12 + + + 1 + 2 + 68584168 + + + 2 + 286 + 5055693 + + + + + + + + + paramsKotlinType + 120852585 + + + id + 120852585 + + + kttypeid + 1920 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 120852585 + + + + + + + kttypeid + id + + + 12 + + + 62916 + 62917 + 1920 + + + + + + + + + paramName + 15639610 + + + id + 15639610 + + + nodeName + 2335761 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 15639610 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 998845 + + + 2 + 3 + 451401 + + + 3 + 4 + 249711 + + + 4 + 5 + 170956 + + + 5 + 8 + 182481 + + + 8 + 18 + 176718 + + + 18 + 769 + 105647 + + + + + + + + + isVarargsParam + 945061 + + + param + 945061 + + + + + + exceptions + 1232644 + + + id + 1232644 + + + typeid + 36990 + + + parentid + 987367 + + + + + id + typeid + + + 12 + + + 1 + 2 + 1232644 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 1232644 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 11950 + + + 2 + 3 + 3983 + + + 3 + 4 + 4552 + + + 4 + 7 + 2276 + + + 7 + 8 + 2845 + + + 9 + 13 + 3414 + + + 20 + 35 + 2845 + + + 41 + 93 + 2845 + + + 106 + 813 + 2276 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 11950 + + + 2 + 3 + 3983 + + + 3 + 4 + 4552 + + + 4 + 7 + 2276 + + + 7 + 8 + 2845 + + + 9 + 13 + 3414 + + + 20 + 35 + 2845 + + + 41 + 93 + 2845 + + + 106 + 813 + 2276 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 755179 + + + 2 + 3 + 224220 + + + 3 + 6 + 7967 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 755179 + + + 2 + 3 + 224220 + + + 3 + 6 + 7967 + + + + + + + + + isAnnotType + 29260 + + + interfaceid + 29260 + + + + + + isAnnotElem + 61065 + + + methodid + 61065 + + + + + + annotValue + 1574925 + + + parentid + 568174 + + + id2 + 52104 + + + value + 1574925 + + + + + parentid + id2 + + + 12 + + + 1 + 2 + 153493 + + + 2 + 3 + 252724 + + + 3 + 4 + 48951 + + + 4 + 6 + 26550 + + + 6 + 7 + 35179 + + + 7 + 9 + 46628 + + + 9 + 13 + 4646 + + + + + + + parentid + value + + + 12 + + + 1 + 2 + 138061 + + + 2 + 3 + 268157 + + + 3 + 4 + 47292 + + + 4 + 6 + 26052 + + + 6 + 8 + 39659 + + + 8 + 10 + 44139 + + + 10 + 13 + 4812 + + + + + + + id2 + parentid + + + 12 + + + 1 + 2 + 17091 + + + 2 + 3 + 5144 + + + 3 + 4 + 2655 + + + 4 + 6 + 4812 + + + 6 + 9 + 4314 + + + 9 + 15 + 4148 + + + 16 + 25 + 4314 + + + 27 + 86 + 3982 + + + 86 + 153 + 4148 + + + 164 + 1105 + 1493 + + + + + + + id2 + value + + + 12 + + + 1 + 2 + 15266 + + + 2 + 3 + 6637 + + + 3 + 4 + 2820 + + + 4 + 6 + 3816 + + + 6 + 8 + 3816 + + + 8 + 10 + 4812 + + + 10 + 25 + 4148 + + + 25 + 53 + 3982 + + + 53 + 132 + 3982 + + + 134 + 1105 + 2820 + + + + + + + value + parentid + + + 12 + + + 1 + 2 + 1574925 + + + + + + + value + id2 + + + 12 + + + 1 + 2 + 1574925 + + + + + + + + + isEnumType + 397617 + + + classid + 397617 + + + + + + isEnumConst + 3081053 + + + fieldid + 3081053 + + + + + + typeVars + 6288883 + + + id + 6288883 + + + nodeName + 86438 + + + pos + 7683 + + + kind + 1920 + + + parentid + 4444861 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 6288883 + + + + + + + id + pos + + + 12 + + + 1 + 2 + 6288883 + + + + + + + id + kind + + + 12 + + + 1 + 2 + 6288883 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 6288883 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 21129 + + + 2 + 3 + 11525 + + + 3 + 4 + 9604 + + + 4 + 7 + 7683 + + + 7 + 10 + 7683 + + + 10 + 28 + 7683 + + + 36 + 69 + 7683 + + + 71 + 412 + 7683 + + + 603 + 710 + 5762 + + + + + + + nodeName + pos + + + 12 + + + 1 + 2 + 51863 + + + 2 + 3 + 23050 + + + 3 + 4 + 9604 + + + 4 + 5 + 1920 + + + + + + + nodeName + kind + + + 12 + + + 1 + 2 + 86438 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 21129 + + + 2 + 3 + 11525 + + + 3 + 4 + 9604 + + + 4 + 7 + 7683 + + + 7 + 10 + 7683 + + + 10 + 28 + 7683 + + + 36 + 69 + 7683 + + + 71 + 412 + 7683 + + + 603 + 710 + 5762 + + + + + + + pos + id + + + 12 + + + 6 + 7 + 1920 + + + 89 + 90 + 1920 + + + 865 + 866 + 1920 + + + 2314 + 2315 + 1920 + + + + + + + pos + nodeName + + + 12 + + + 2 + 3 + 1920 + + + 13 + 14 + 1920 + + + 21 + 22 + 1920 + + + 34 + 35 + 1920 + + + + + + + pos + kind + + + 12 + + + 1 + 2 + 7683 + + + + + + + pos + parentid + + + 12 + + + 6 + 7 + 1920 + + + 89 + 90 + 1920 + + + 865 + 866 + 1920 + + + 2314 + 2315 + 1920 + + + + + + + kind + id + + + 12 + + + 3274 + 3275 + 1920 + + + + + + + kind + nodeName + + + 12 + + + 45 + 46 + 1920 + + + + + + + kind + pos + + + 12 + + + 4 + 5 + 1920 + + + + + + + kind + parentid + + + 12 + + + 2314 + 2315 + 1920 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 2783320 + + + 2 + 3 + 1490584 + + + 3 + 5 + 170956 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 2783320 + + + 2 + 3 + 1490584 + + + 3 + 5 + 170956 + + + + + + + parentid + pos + + + 12 + + + 1 + 2 + 2783320 + + + 2 + 3 + 1490584 + + + 3 + 5 + 170956 + + + + + + + parentid + kind + + + 12 + + + 1 + 2 + 4444861 + + + + + + + + + wildcards + 3338447 + + + id + 3338447 + + + nodeName + 533998 + + + kind + 3841 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 3338447 + + + + + + + id + kind + + + 12 + + + 1 + 2 + 3338447 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 397617 + + + 2 + 3 + 55704 + + + 3 + 7 + 44179 + + + 7 + 170 + 36496 + + + + + + + nodeName + kind + + + 12 + + + 1 + 2 + 533998 + + + + + + + kind + id + + + 12 + + + 791 + 792 + 1920 + + + 947 + 948 + 1920 + + + + + + + kind + nodeName + + + 12 + + + 91 + 92 + 1920 + + + 187 + 188 + 1920 + + + + + + + + + typeBounds + 4229725 + + + id + 4229725 + + + typeid + 2852471 + + + pos + 1920 + + + parentid + 4229725 + + + + + id + typeid + + + 12 + + + 1 + 2 + 4229725 + + + + + + + id + pos + + + 12 + + + 1 + 2 + 4229725 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 4229725 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 2091812 + + + 2 + 3 + 695349 + + + 3 + 52 + 65309 + + + + + + + typeid + pos + + + 12 + + + 1 + 2 + 2852471 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 2091812 + + + 2 + 3 + 695349 + + + 3 + 52 + 65309 + + + + + + + pos + id + + + 12 + + + 2202 + 2203 + 1920 + + + + + + + pos + typeid + + + 12 + + + 1485 + 1486 + 1920 + + + + + + + pos + parentid + + + 12 + + + 2202 + 2203 + 1920 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 4229725 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 4229725 + + + + + + + parentid + pos + + + 12 + + + 1 + 2 + 4229725 + + + + + + + + + typeArgs + 53854237 + + + argumentid + 1430551 + + + pos + 57 + + + parentid + 22244248 + + + + + argumentid + pos + + + 12 + + + 1 + 2 + 865848 + + + 2 + 3 + 470615 + + + 3 + 11 + 94087 + + + + + + + argumentid + parentid + + + 12 + + + 1 + 2 + 64071 + + + 2 + 3 + 433698 + + + 3 + 5 + 100595 + + + 5 + 6 + 35547 + + + 6 + 7 + 201249 + + + 7 + 11 + 39437 + + + 11 + 12 + 218178 + + + 12 + 15 + 111421 + + + 15 + 29 + 108138 + + + 29 + 341 + 107450 + + + 341 + 757580 + 10762 + + + + + + + pos + argumentid + + + 12 + + + 4 + 5 + 5 + + + 597 + 598 + 5 + + + 887 + 888 + 5 + + + 1129 + 1130 + 5 + + + 1758 + 1759 + 5 + + + 3885 + 3886 + 5 + + + 4027 + 4028 + 5 + + + 51686 + 51687 + 5 + + + 142042 + 142043 + 5 + + + 161580 + 161581 + 5 + + + + + + + pos + parentid + + + 12 + + + 4 + 5 + 5 + + + 831 + 832 + 5 + + + 3895 + 3896 + 5 + + + 8694 + 8695 + 5 + + + 19012 + 19013 + 5 + + + 85622 + 85623 + 5 + + + 103257 + 103258 + 5 + + + 1447294 + 1447295 + 5 + + + 3800219 + 3800220 + 5 + + + 3848466 + 3848467 + 5 + + + + + + + parentid + argumentid + + + 12 + + + 1 + 2 + 296162 + + + 2 + 3 + 13666793 + + + 3 + 4 + 7750153 + + + 4 + 11 + 531138 + + + + + + + parentid + pos + + + 12 + + + 1 + 2 + 278869 + + + 2 + 3 + 13599976 + + + 3 + 4 + 7768574 + + + 4 + 11 + 596828 + + + + + + + + + isParameterized + 27045654 + + + memberid + 27045654 + + + + + + isRaw + 731846 + + + memberid + 731846 + + + + + + erasure + 27777500 + + + memberid + 27777500 + + + erasureid + 954665 + + + + + memberid + erasureid + + + 12 + + + 1 + 2 + 27777500 + + + + + + + erasureid + memberid + + + 12 + + + 1 + 2 + 142143 + + + 2 + 3 + 138301 + + + 3 + 4 + 86438 + + + 4 + 5 + 57625 + + + 5 + 6 + 65309 + + + 6 + 8 + 69150 + + + 8 + 10 + 61467 + + + 10 + 15 + 72992 + + + 15 + 22 + 76834 + + + 22 + 44 + 74913 + + + 46 + 124 + 72992 + + + 169 + 1564 + 36496 + + + + + + + + + isAnonymClass + 174213 + + + classid + 174213 + + + parent + 174213 + + + + + classid + parent + + + 12 + + + 1 + 2 + 174213 + + + + + + + parent + classid + + + 12 + + + 1 + 2 + 174213 + + + + + + + + + isLocalClassOrInterface + 3841 + + + typeid + 3841 + + + parent + 3841 + + + + + typeid + parent + + + 12 + + + 1 + 2 + 3841 + + + + + + + parent + typeid + + + 12 + + + 1 + 2 + 3841 + + + + + + + + + isDefConstr + 139383 + + + constructorid + 139383 + + + + + + lambdaKind + 167982 + + + exprId + 167982 + + + bodyKind + 13 + + + + + exprId + bodyKind + + + 12 + + + 1 + 2 + 167982 + + + + + + + bodyKind + exprId + + + 12 + + + 12267 + 12268 + 13 + + + + + + + + + arrays + 1375332 + + + id + 1375332 + + + nodeName + 831730 + + + elementtypeid + 1365728 + + + dimension + 3841 + + + componenttypeid + 1375332 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 1375332 + + + + + + + id + elementtypeid + + + 12 + + + 1 + 2 + 1375332 + + + + + + + id + dimension + + + 12 + + + 1 + 2 + 1375332 + + + + + + + id + componenttypeid + + + 12 + + + 1 + 2 + 1375332 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 664616 + + + 2 + 3 + 140222 + + + 3 + 87 + 26891 + + + + + + + nodeName + elementtypeid + + + 12 + + + 1 + 2 + 664616 + + + 2 + 3 + 140222 + + + 3 + 87 + 26891 + + + + + + + nodeName + dimension + + + 12 + + + 1 + 2 + 831730 + + + + + + + nodeName + componenttypeid + + + 12 + + + 1 + 2 + 664616 + + + 2 + 3 + 140222 + + + 3 + 87 + 26891 + + + + + + + elementtypeid + id + + + 12 + + + 1 + 2 + 1356124 + + + 2 + 3 + 9604 + + + + + + + elementtypeid + nodeName + + + 12 + + + 1 + 2 + 1356124 + + + 2 + 3 + 9604 + + + + + + + elementtypeid + dimension + + + 12 + + + 1 + 2 + 1356124 + + + 2 + 3 + 9604 + + + + + + + elementtypeid + componenttypeid + + + 12 + + + 1 + 2 + 1356124 + + + 2 + 3 + 9604 + + + + + + + dimension + id + + + 12 + + + 5 + 6 + 1920 + + + 711 + 712 + 1920 + + + + + + + dimension + nodeName + + + 12 + + + 5 + 6 + 1920 + + + 428 + 429 + 1920 + + + + + + + dimension + elementtypeid + + + 12 + + + 5 + 6 + 1920 + + + 711 + 712 + 1920 + + + + + + + dimension + componenttypeid + + + 12 + + + 5 + 6 + 1920 + + + 711 + 712 + 1920 + + + + + + + componenttypeid + id + + + 12 + + + 1 + 2 + 1375332 + + + + + + + componenttypeid + nodeName + + + 12 + + + 1 + 2 + 1375332 + + + + + + + componenttypeid + elementtypeid + + + 12 + + + 1 + 2 + 1375332 + + + + + + + componenttypeid + dimension + + + 12 + + + 1 + 2 + 1375332 + + + + + + + + + enclInReftype + 4051085 + + + child + 4051085 + + + parent + 1125621 + + + + + child + parent + + + 12 + + + 1 + 2 + 4051085 + + + + + + + parent + child + + + 12 + + + 1 + 2 + 666537 + + + 2 + 3 + 176718 + + + 3 + 4 + 86438 + + + 4 + 6 + 82596 + + + 6 + 17 + 84517 + + + 17 + 265 + 28812 + + + + + + + + + extendsReftype + 34389087 + + + id1 + 33104034 + + + id2 + 13251986 + + + + + id1 + id2 + + + 12 + + + 1 + 2 + 32118635 + + + 2 + 10 + 985399 + + + + + + + id2 + id1 + + + 12 + + + 1 + 2 + 12030322 + + + 2 + 5 + 1023816 + + + 5 + 8715 + 197848 + + + + + + + + + implInterface + 14423708 + + + id1 + 8255839 + + + id2 + 4487119 + + + + + id1 + id2 + + + 12 + + + 1 + 2 + 4223962 + + + 2 + 3 + 2829421 + + + 3 + 4 + 276603 + + + 4 + 5 + 920090 + + + 5 + 7 + 5762 + + + + + + + id2 + id1 + + + 12 + + + 1 + 2 + 4003064 + + + 2 + 4 + 366883 + + + 4 + 2275 + 117172 + + + + + + + + + permits + 129 + + + id1 + 31 + + + id2 + 129 + + + + + id1 + id2 + + + 12 + + + 1 + 2 + 2 + + + 2 + 3 + 8 + + + 3 + 4 + 6 + + + 4 + 5 + 2 + + + 5 + 6 + 2 + + + 6 + 8 + 2 + + + 8 + 9 + 2 + + + 9 + 11 + 2 + + + + + + + id2 + id1 + + + 12 + + + 1 + 2 + 129 + + + + + + + + + hasModifier + 270713939 + + + id1 + 180180147 + + + id2 + 26891 + + + + + id1 + id2 + + + 12 + + + 1 + 2 + 90230296 + + + 2 + 3 + 89365911 + + + 3 + 4 + 583940 + + + + + + + id2 + id1 + + + 12 + + + 4 + 5 + 1920 + + + 14 + 15 + 1920 + + + 20 + 21 + 1920 + + + 21 + 22 + 1920 + + + 34 + 35 + 1920 + + + 50 + 51 + 1920 + + + 109 + 110 + 1920 + + + 219 + 220 + 1920 + + + 3864 + 3865 + 1920 + + + 7193 + 7194 + 1920 + + + 9195 + 9196 + 1920 + + + 14706 + 14707 + 1920 + + + 18810 + 18811 + 1920 + + + 86695 + 86696 + 1920 + + + + + + + + + imports + 368550 + + + id + 368550 + + + holder + 58078 + + + name + 8794 + + + kind + 663 + + + + + id + holder + + + 12 + + + 1 + 2 + 368550 + + + + + + + id + name + + + 12 + + + 1 + 2 + 368550 + + + + + + + id + kind + + + 12 + + + 1 + 2 + 368550 + + + + + + + holder + id + + + 12 + + + 1 + 2 + 28375 + + + 2 + 3 + 9292 + + + 3 + 4 + 5475 + + + 4 + 6 + 4646 + + + 6 + 15 + 4480 + + + 15 + 54 + 4480 + + + 64 + 98 + 1327 + + + + + + + holder + name + + + 12 + + + 1 + 2 + 54593 + + + 2 + 7 + 3484 + + + + + + + holder + kind + + + 12 + + + 1 + 2 + 55091 + + + 2 + 3 + 2986 + + + + + + + name + id + + + 12 + + + 1 + 2 + 4148 + + + 2 + 3 + 1825 + + + 3 + 4 + 829 + + + 4 + 7 + 663 + + + 7 + 26 + 663 + + + 30 + 1962 + 663 + + + + + + + name + holder + + + 12 + + + 1 + 2 + 7301 + + + 2 + 3 + 1161 + + + 3 + 337 + 331 + + + + + + + name + kind + + + 12 + + + 1 + 2 + 8628 + + + 3 + 4 + 165 + + + + + + + kind + id + + + 12 + + + 1 + 2 + 165 + + + 6 + 7 + 165 + + + 260 + 261 + 165 + + + 1954 + 1955 + 165 + + + + + + + kind + holder + + + 12 + + + 1 + 2 + 165 + + + 3 + 4 + 165 + + + 31 + 32 + 165 + + + 333 + 334 + 165 + + + + + + + kind + name + + + 12 + + + 1 + 2 + 497 + + + 52 + 53 + 165 + + + + + + + + + stmts + 2441387 + + + id + 2441387 + + + kind + 9674 + + + parent + 1353860 + + + idx + 15934 + + + bodydecl + 367630 + + + + + id + kind + + + 12 + + + 1 + 2 + 2441387 + + + + + + + id + parent + + + 12 + + + 1 + 2 + 2441387 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 2441387 + + + + + + + id + bodydecl + + + 12 + + + 1 + 2 + 2441387 + + + + + + + kind + id + + + 12 + + + 1 + 2 + 1707 + + + 6 + 7 + 569 + + + 7 + 8 + 569 + + + 17 + 18 + 569 + + + 20 + 21 + 569 + + + 23 + 24 + 569 + + + 33 + 34 + 569 + + + 83 + 84 + 569 + + + 91 + 92 + 569 + + + 97 + 98 + 569 + + + 265 + 266 + 569 + + + 312 + 313 + 569 + + + 560 + 561 + 569 + + + 1243 + 1244 + 569 + + + 1530 + 1531 + 569 + + + + + + + kind + parent + + + 12 + + + 1 + 2 + 2276 + + + 7 + 8 + 569 + + + 12 + 13 + 569 + + + 17 + 18 + 569 + + + 21 + 22 + 569 + + + 33 + 34 + 569 + + + 71 + 72 + 569 + + + 81 + 82 + 569 + + + 91 + 92 + 569 + + + 246 + 247 + 569 + + + 265 + 266 + 569 + + + 271 + 272 + 569 + + + 716 + 717 + 569 + + + 1192 + 1193 + 569 + + + + + + + kind + idx + + + 12 + + + 1 + 2 + 2276 + + + 3 + 4 + 569 + + + 4 + 5 + 569 + + + 6 + 7 + 1138 + + + 7 + 8 + 569 + + + 8 + 9 + 1138 + + + 10 + 11 + 1138 + + + 13 + 14 + 569 + + + 17 + 18 + 569 + + + 21 + 22 + 569 + + + 26 + 27 + 569 + + + + + + + kind + bodydecl + + + 12 + + + 1 + 2 + 2276 + + + 7 + 8 + 1138 + + + 17 + 18 + 569 + + + 20 + 21 + 569 + + + 21 + 22 + 569 + + + 53 + 54 + 569 + + + 54 + 55 + 569 + + + 91 + 92 + 569 + + + 119 + 120 + 569 + + + 179 + 180 + 569 + + + 211 + 212 + 569 + + + 431 + 432 + 569 + + + 646 + 647 + 569 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 989074 + + + 2 + 3 + 191782 + + + 3 + 6 + 107557 + + + 6 + 27 + 65445 + + + + + + + parent + kind + + + 12 + + + 1 + 2 + 1081267 + + + 2 + 3 + 194058 + + + 3 + 6 + 78534 + + + + + + + parent + idx + + + 12 + + + 1 + 2 + 989074 + + + 2 + 3 + 191782 + + + 3 + 6 + 107557 + + + 6 + 27 + 65445 + + + + + + + parent + bodydecl + + + 12 + + + 1 + 2 + 1353860 + + + + + + + idx + id + + + 12 + + + 3 + 5 + 1138 + + + 5 + 6 + 1138 + + + 6 + 7 + 2276 + + + 10 + 15 + 1138 + + + 15 + 16 + 1138 + + + 17 + 20 + 1138 + + + 24 + 32 + 1138 + + + 40 + 43 + 1138 + + + 55 + 72 + 1138 + + + 83 + 94 + 1138 + + + 115 + 160 + 1138 + + + 204 + 386 + 1138 + + + 939 + 1919 + 1138 + + + + + + + idx + kind + + + 12 + + + 1 + 2 + 2276 + + + 2 + 3 + 3983 + + + 3 + 5 + 1138 + + + 5 + 6 + 2276 + + + 6 + 7 + 2276 + + + 7 + 9 + 1138 + + + 9 + 10 + 1138 + + + 12 + 14 + 1138 + + + 16 + 17 + 569 + + + + + + + idx + parent + + + 12 + + + 3 + 5 + 1138 + + + 5 + 6 + 1138 + + + 6 + 7 + 2276 + + + 10 + 15 + 1138 + + + 15 + 16 + 1138 + + + 17 + 20 + 1138 + + + 24 + 32 + 1138 + + + 40 + 43 + 1138 + + + 55 + 72 + 1138 + + + 83 + 94 + 1138 + + + 115 + 160 + 1138 + + + 204 + 386 + 1138 + + + 939 + 1919 + 1138 + + + + + + + idx + bodydecl + + + 12 + + + 3 + 5 + 1138 + + + 5 + 6 + 1138 + + + 6 + 7 + 2276 + + + 10 + 15 + 1138 + + + 15 + 16 + 1138 + + + 17 + 20 + 1138 + + + 24 + 32 + 1138 + + + 40 + 43 + 1138 + + + 54 + 56 + 1138 + + + 68 + 87 + 1138 + + + 104 + 138 + 1138 + + + 167 + 226 + 1138 + + + 337 + 647 + 1138 + + + + + + + bodydecl + id + + + 12 + + + 1 + 2 + 17641 + + + 2 + 3 + 157637 + + + 3 + 4 + 38128 + + + 4 + 5 + 33576 + + + 5 + 7 + 24470 + + + 7 + 10 + 29023 + + + 10 + 16 + 30730 + + + 16 + 34 + 27885 + + + 34 + 131 + 8536 + + + + + + + bodydecl + kind + + + 12 + + + 1 + 2 + 17641 + + + 2 + 3 + 193489 + + + 3 + 4 + 77965 + + + 4 + 5 + 29592 + + + 5 + 7 + 33007 + + + 7 + 11 + 15934 + + + + + + + bodydecl + parent + + + 12 + + + 1 + 2 + 17641 + + + 2 + 3 + 261780 + + + 4 + 5 + 33576 + + + 5 + 10 + 31299 + + + 10 + 88 + 23332 + + + + + + + bodydecl + idx + + + 12 + + + 1 + 2 + 175279 + + + 2 + 3 + 63737 + + + 3 + 4 + 27885 + + + 4 + 5 + 18210 + + + 5 + 7 + 30161 + + + 7 + 11 + 29592 + + + 11 + 28 + 22763 + + + + + + + + + exprs + 7410663 + + + id + 7410663 + + + kind + 1618 + + + typeid + 115976 + + + parent + 5075638 + + + idx + 1426 + + + + + id + kind + + + 12 + + + 1 + 2 + 7410663 + + + + + + + id + typeid + + + 12 + + + 1 + 2 + 7410663 + + + + + + + id + parent + + + 12 + + + 1 + 2 + 7410663 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 7410663 + + + + + + + kind + id + + + 12 + + + 1 + 3 + 137 + + + 3 + 9 + 137 + + + 13 + 31 + 137 + + + 31 + 76 + 137 + + + 85 + 161 + 109 + + + 186 + 307 + 137 + + + 378 + 492 + 137 + + + 494 + 659 + 137 + + + 708 + 1063 + 137 + + + 1114 + 2997 + 137 + + + 3119 + 9319 + 137 + + + 10083 + 75330 + 137 + + + + + + + kind + typeid + + + 12 + + + 1 + 2 + 768 + + + 2 + 3 + 246 + + + 3 + 6 + 137 + + + 18 + 48 + 137 + + + 48 + 152 + 137 + + + 246 + 1578 + 137 + + + 2399 + 2509 + 54 + + + + + + + kind + parent + + + 12 + + + 1 + 3 + 137 + + + 3 + 9 + 137 + + + 13 + 31 + 137 + + + 31 + 76 + 137 + + + 81 + 177 + 137 + + + 183 + 357 + 137 + + + 378 + 482 + 137 + + + 572 + 708 + 137 + + + 708 + 1060 + 137 + + + 1102 + 3043 + 137 + + + 5490 + 10002 + 137 + + + 16929 + 60299 + 109 + + + + + + + kind + idx + + + 12 + + + 1 + 2 + 246 + + + 2 + 3 + 521 + + + 3 + 4 + 246 + + + 4 + 6 + 137 + + + 6 + 8 + 137 + + + 8 + 11 + 137 + + + 12 + 27 + 137 + + + 46 + 49 + 54 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 48881 + + + 2 + 3 + 13002 + + + 3 + 6 + 10697 + + + 6 + 10 + 9628 + + + 10 + 17 + 9271 + + + 17 + 32 + 8722 + + + 32 + 89 + 8750 + + + 89 + 52561 + 7022 + + + + + + + typeid + kind + + + 12 + + + 1 + 2 + 57851 + + + 2 + 3 + 18543 + + + 3 + 4 + 8914 + + + 4 + 5 + 14455 + + + 5 + 6 + 9737 + + + 6 + 32 + 6473 + + + + + + + typeid + parent + + + 12 + + + 1 + 2 + 49045 + + + 2 + 3 + 13413 + + + 3 + 5 + 8668 + + + 5 + 8 + 8530 + + + 8 + 13 + 9244 + + + 13 + 24 + 8750 + + + 24 + 57 + 8805 + + + 57 + 851 + 8722 + + + 890 + 37212 + 795 + + + + + + + typeid + idx + + + 12 + + + 1 + 2 + 58673 + + + 2 + 3 + 18378 + + + 3 + 4 + 14730 + + + 4 + 5 + 19119 + + + 5 + 50 + 5074 + + + + + + + parent + id + + + 12 + + + 1 + 2 + 3222211 + + + 2 + 3 + 1522614 + + + 3 + 48 + 330812 + + + + + + + parent + kind + + + 12 + + + 1 + 2 + 3525291 + + + 2 + 3 + 1385461 + + + 3 + 8 + 164884 + + + + + + + parent + typeid + + + 12 + + + 1 + 2 + 4085559 + + + 2 + 3 + 832078 + + + 3 + 10 + 157999 + + + + + + + parent + idx + + + 12 + + + 1 + 2 + 3222211 + + + 2 + 3 + 1522614 + + + 3 + 48 + 330812 + + + + + + + idx + id + + + 12 + + + 1 + 2 + 82 + + + 2 + 3 + 466 + + + 3 + 4 + 82 + + + 4 + 5 + 54 + + + 5 + 6 + 82 + + + 6 + 8 + 109 + + + 8 + 19 + 109 + + + 24 + 37 + 109 + + + 75 + 343 + 109 + + + 536 + 6117 + 109 + + + 7863 + 137171 + 109 + + + + + + + idx + kind + + + 12 + + + 1 + 2 + 164 + + + 2 + 3 + 521 + + + 3 + 4 + 27 + + + 4 + 5 + 246 + + + 6 + 7 + 54 + + + 7 + 8 + 109 + + + 8 + 13 + 109 + + + 13 + 26 + 109 + + + 27 + 59 + 82 + + + + + + + idx + typeid + + + 12 + + + 1 + 2 + 82 + + + 2 + 3 + 521 + + + 3 + 4 + 54 + + + 4 + 5 + 246 + + + 7 + 12 + 109 + + + 12 + 20 + 109 + + + 29 + 66 + 109 + + + 80 + 1212 + 109 + + + 1956 + 3022 + 82 + + + + + + + idx + parent + + + 12 + + + 1 + 2 + 82 + + + 2 + 3 + 466 + + + 3 + 4 + 82 + + + 4 + 5 + 54 + + + 5 + 6 + 82 + + + 6 + 8 + 109 + + + 8 + 19 + 109 + + + 24 + 37 + 109 + + + 75 + 343 + 109 + + + 536 + 6117 + 109 + + + 7863 + 137171 + 109 + + + + + + + + + exprsKotlinType + 7410663 + + + id + 7410663 + + + kttypeid + 10930 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 7410663 + + + + + + + kttypeid + id + + + 12 + + + 1 + 2 + 8197 + + + 2 + 3 + 1821 + + + 8123 + 8124 + 910 + + + + + + + + + callableEnclosingExpr + 7299071 + + + id + 7299071 + + + callable_id + 19877 + + + + + id + callable_id + + + 12 + + + 1 + 2 + 7299071 + + + + + + + callable_id + id + + + 12 + + + 1 + 2 + 711 + + + 2 + 3 + 1691 + + + 3 + 5 + 1604 + + + 5 + 6 + 806 + + + 6 + 7 + 1955 + + + 7 + 9 + 1374 + + + 9 + 13 + 1825 + + + 13 + 18 + 1574 + + + 18 + 26 + 1530 + + + 26 + 42 + 1530 + + + 42 + 73 + 1504 + + + 73 + 177 + 1495 + + + 179 + 1146 + 1491 + + + 1148 + 37742 + 780 + + + + + + + + + statementEnclosingExpr + 7258714 + + + id + 7258714 + + + statement_id + 525778 + + + + + id + statement_id + + + 12 + + + 1 + 2 + 7258714 + + + + + + + statement_id + id + + + 12 + + + 1 + 3 + 29126 + + + 3 + 5 + 47077 + + + 5 + 7 + 48474 + + + 7 + 8 + 36042 + + + 8 + 9 + 38145 + + + 9 + 10 + 50447 + + + 10 + 11 + 29212 + + + 11 + 12 + 127049 + + + 12 + 35 + 35322 + + + 35 + 40 + 44623 + + + 40 + 81 + 40222 + + + 82 + 210 + 34 + + + + + + + + + isParenthesized + 94652 + + + id + 94652 + + + parentheses + 5 + + + + + id + parentheses + + + 12 + + + 1 + 2 + 94652 + + + + + + + parentheses + id + + + 12 + + + 58 + 59 + 2 + + + 34605 + 34606 + 2 + + + + + + + + + when_if + 74334 + + + id + 74334 + + + + + + when_branch_else + 76075 + + + id + 76075 + + + + + + callableBinding + 1832520 + + + callerid + 1832520 + + + callee + 264311 + + + + + callerid + callee + + + 12 + + + 1 + 2 + 1832520 + + + + + + + callee + callerid + + + 12 + + + 1 + 2 + 162993 + + + 2 + 3 + 33137 + + + 3 + 4 + 16271 + + + 4 + 7 + 22271 + + + 7 + 20 + 19902 + + + 20 + 46115 + 9734 + + + + + + + + + memberRefBinding + 23208 + + + id + 23208 + + + callable + 11197 + + + + + id + callable + + + 12 + + + 1 + 2 + 23208 + + + + + + + callable + id + + + 12 + + + 1 + 2 + 7862 + + + 2 + 3 + 2075 + + + 3 + 7 + 940 + + + 7 + 912 + 319 + + + + + + + + + propertyRefGetBinding + 8876 + + + id + 8876 + + + getter + 5366 + + + + + id + getter + + + 12 + + + 1 + 2 + 8876 + + + + + + + getter + id + + + 12 + + + 1 + 2 + 1951 + + + 2 + 3 + 3328 + + + 3 + 6 + 86 + + + + + + + + + propertyRefFieldBinding + 2 + + + id + 2 + + + field + 2 + + + + + id + field + + + 12 + + + 1 + 2 + 2 + + + + + + + field + id + + + 12 + + + 1 + 2 + 2 + + + + + + + + + propertyRefSetBinding + 2600 + + + id + 2600 + + + setter + 1300 + + + + + id + setter + + + 12 + + + 1 + 2 + 2600 + + + + + + + setter + id + + + 12 + + + 2 + 3 + 1300 + + + + + + + + + variableBinding + 2434277 + + + expr + 2434277 + + + variable + 572528 + + + + + expr + variable + + + 12 + + + 1 + 2 + 2434277 + + + + + + + variable + expr + + + 12 + + + 1 + 2 + 205791 + + + 2 + 3 + 120945 + + + 3 + 4 + 85022 + + + 4 + 5 + 45967 + + + 5 + 7 + 40059 + + + 7 + 14 + 43072 + + + 14 + 464 + 31669 + + + + + + + + + localvars + 385272 + + + id + 385272 + + + nodeName + 139995 + + + typeid + 49510 + + + parentid + 385272 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 385272 + + + + + + + id + typeid + + + 12 + + + 1 + 2 + 385272 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 385272 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 83655 + + + 2 + 3 + 26178 + + + 3 + 5 + 10243 + + + 5 + 9 + 11950 + + + 9 + 42 + 7967 + + + + + + + nodeName + typeid + + + 12 + + + 1 + 2 + 124630 + + + 2 + 3 + 13089 + + + 3 + 19 + 2276 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 83655 + + + 2 + 3 + 26178 + + + 3 + 5 + 10243 + + + 5 + 9 + 11950 + + + 9 + 42 + 7967 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 16503 + + + 2 + 3 + 9105 + + + 3 + 5 + 2276 + + + 5 + 6 + 5121 + + + 6 + 7 + 2845 + + + 7 + 8 + 2845 + + + 8 + 12 + 4552 + + + 14 + 30 + 3983 + + + 51 + 76 + 2276 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 23332 + + + 2 + 3 + 9105 + + + 3 + 4 + 6259 + + + 4 + 6 + 3983 + + + 6 + 14 + 3983 + + + 14 + 35 + 2845 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 16503 + + + 2 + 3 + 9105 + + + 3 + 5 + 2276 + + + 5 + 6 + 5121 + + + 6 + 7 + 2845 + + + 7 + 8 + 2845 + + + 8 + 12 + 4552 + + + 14 + 30 + 3983 + + + 51 + 76 + 2276 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 385272 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 385272 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 385272 + + + + + + + + + localvarsKotlinType + 240107 + + + id + 240107 + + + kttypeid + 1920 + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 240107 + + + + + + + kttypeid + id + + + 12 + + + 125 + 126 + 1920 + + + + + + + + + namestrings + 4022436 + + + name + 23384 + + + value + 22166 + + + parent + 4022436 + + + + + name + value + + + 12 + + + 1 + 2 + 23384 + + + + + + + name + parent + + + 12 + + + 1 + 2 + 9604 + + + 2 + 3 + 3811 + + + 3 + 5 + 2150 + + + 5 + 9 + 1769 + + + 9 + 21 + 1795 + + + 21 + 69 + 1760 + + + 69 + 385 + 1756 + + + 390 + 412517 + 737 + + + + + + + value + name + + + 12 + + + 1 + 2 + 21559 + + + 2 + 12 + 607 + + + + + + + value + parent + + + 12 + + + 1 + 2 + 9118 + + + 2 + 3 + 3594 + + + 3 + 5 + 1912 + + + 5 + 9 + 1665 + + + 9 + 21 + 1691 + + + 21 + 67 + 1678 + + + 67 + 318 + 1665 + + + 320 + 413340 + 841 + + + + + + + parent + name + + + 12 + + + 1 + 2 + 4022436 + + + + + + + parent + value + + + 12 + + + 1 + 2 + 4022436 + + + + + + + + + modules + 7965 + + + id + 7965 + + + name + 7965 + + + + + id + name + + + 12 + + + 1 + 2 + 7965 + + + + + + + name + id + + + 12 + + + 1 + 2 + 7965 + + + + + + + + + isOpen + 1 + + + id + 1 + + + + + + cumodule + 247580 + + + fileId + 247580 + + + moduleId + 1161 + + + + + fileId + moduleId + + + 12 + + + 1 + 2 + 247580 + + + + + + + moduleId + fileId + + + 12 + + + 12 + 13 + 331 + + + 39 + 40 + 165 + + + 64 + 65 + 165 + + + 71 + 72 + 165 + + + 415 + 416 + 165 + + + 879 + 880 + 165 + + + + + + + + + directives + 50279 + + + id + 1161 + + + directive + 50279 + + + + + id + directive + + + 12 + + + 3 + 4 + 165 + + + 4 + 5 + 165 + + + 7 + 8 + 165 + + + 9 + 10 + 165 + + + 43 + 44 + 165 + + + 89 + 90 + 165 + + + 148 + 149 + 165 + + + + + + + directive + id + + + 12 + + + 1 + 2 + 50279 + + + + + + + + + requires + 1991 + + + id + 1991 + + + target + 995 + + + + + id + target + + + 12 + + + 1 + 2 + 1991 + + + + + + + target + id + + + 12 + + + 1 + 2 + 663 + + + 2 + 3 + 165 + + + 6 + 7 + 165 + + + + + + + + + isTransitive + 829 + + + id + 829 + + + + + + isStatic + 1 + + + id + 1 + + + + + + exports + 35013 + + + id + 35013 + + + target + 35013 + + + + + id + target + + + 12 + + + 1 + 2 + 35013 + + + + + + + target + id + + + 12 + + + 1 + 2 + 35013 + + + + + + + + + exportsTo + 28707 + + + id + 12279 + + + target + 7467 + + + + + id + target + + + 12 + + + 1 + 2 + 7301 + + + 2 + 3 + 1825 + + + 3 + 4 + 829 + + + 4 + 5 + 829 + + + 5 + 7 + 995 + + + 9 + 18 + 497 + + + + + + + target + id + + + 12 + + + 1 + 2 + 1991 + + + 2 + 3 + 1825 + + + 3 + 4 + 663 + + + 4 + 5 + 663 + + + 5 + 6 + 663 + + + 6 + 7 + 331 + + + 8 + 10 + 663 + + + 11 + 13 + 663 + + + + + + + + + opens + 165 + + + id + 165 + + + target + 165 + + + + + id + target + + + 12 + + + 1 + 2 + 165 + + + + + + + target + id + + + 12 + + + 1 + 2 + 165 + + + + + + + + + opensTo + 165 + + + id + 165 + + + target + 165 + + + + + id + target + + + 12 + + + 1 + 2 + 165 + + + + + + + target + id + + + 12 + + + 1 + 2 + 165 + + + + + + + + + uses + 10786 + + + id + 10786 + + + serviceInterface + 10786 + + + + + id + serviceInterface + + + 12 + + + 1 + 2 + 10786 + + + + + + + serviceInterface + id + + + 12 + + + 1 + 2 + 10786 + + + + + + + + + provides + 2323 + + + id + 2323 + + + serviceInterface + 2323 + + + + + id + serviceInterface + + + 12 + + + 1 + 2 + 2323 + + + + + + + serviceInterface + id + + + 12 + + + 1 + 2 + 2323 + + + + + + + + + providesWith + 5310 + + + id + 2323 + + + serviceImpl + 5310 + + + + + id + serviceImpl + + + 12 + + + 1 + 2 + 1327 + + + 2 + 3 + 165 + + + 4 + 5 + 663 + + + 6 + 7 + 165 + + + + + + + serviceImpl + id + + + 12 + + + 1 + 2 + 5310 + + + + + + + + + javadoc + 985091 + + + id + 985091 + + + + + + isNormalComment + 649898 + + + commentid + 649898 + + + + + + isEolComment + 610062 + + + commentid + 610062 + + + + + + hasJavadoc + 435352 + + + documentableid + 368199 + + + javadocid + 435352 + + + + + documentableid + javadocid + + + 12 + + + 1 + 2 + 320396 + + + 2 + 3 + 44957 + + + 3 + 27 + 2845 + + + + + + + javadocid + documentableid + + + 12 + + + 1 + 2 + 435352 + + + + + + + + + javadocTag + 335808 + + + id + 335808 + + + name + 577 + + + parentid + 114110 + + + idx + 4789 + + + + + id + name + + + 12 + + + 1 + 2 + 335808 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 335808 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 335808 + + + + + + + name + id + + + 12 + + + 34 + 35 + 82 + + + 69 + 70 + 82 + + + 203 + 204 + 82 + + + 405 + 406 + 82 + + + 608 + 609 + 82 + + + 968 + 969 + 82 + + + 1780 + 1781 + 82 + + + + + + + name + parentid + + + 12 + + + 34 + 35 + 82 + + + 69 + 70 + 82 + + + 158 + 159 + 82 + + + 404 + 405 + 82 + + + 608 + 609 + 82 + + + 668 + 669 + 82 + + + 969 + 970 + 82 + + + + + + + name + idx + + + 12 + + + 17 + 18 + 82 + + + 21 + 22 + 82 + + + 31 + 32 + 82 + + + 35 + 36 + 165 + + + 38 + 39 + 82 + + + 41 + 42 + 82 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 33192 + + + 2 + 3 + 24935 + + + 3 + 4 + 18660 + + + 4 + 5 + 13128 + + + 5 + 6 + 9990 + + + 6 + 7 + 7678 + + + 7 + 11 + 6522 + + + + + + + parentid + name + + + 12 + + + 1 + 2 + 39963 + + + 2 + 3 + 38642 + + + 3 + 4 + 21137 + + + 4 + 5 + 12220 + + + 5 + 6 + 2146 + + + + + + + parentid + idx + + + 12 + + + 1 + 2 + 33192 + + + 2 + 3 + 24935 + + + 3 + 4 + 18660 + + + 4 + 5 + 13128 + + + 5 + 6 + 9990 + + + 6 + 7 + 7678 + + + 7 + 11 + 6522 + + + + + + + idx + id + + + 12 + + + 1 + 2 + 1238 + + + 2 + 3 + 247 + + + 4 + 5 + 330 + + + 5 + 6 + 412 + + + 6 + 8 + 330 + + + 8 + 17 + 412 + + + 21 + 34 + 412 + + + 38 + 72 + 412 + + + 76 + 152 + 412 + + + 199 + 504 + 412 + + + 603 + 713 + 165 + + + + + + + idx + name + + + 12 + + + 1 + 2 + 1321 + + + 2 + 3 + 330 + + + 3 + 4 + 743 + + + 4 + 5 + 412 + + + 5 + 6 + 412 + + + 6 + 7 + 908 + + + 7 + 8 + 660 + + + + + + + idx + parentid + + + 12 + + + 1 + 2 + 1238 + + + 2 + 3 + 247 + + + 4 + 5 + 330 + + + 5 + 6 + 412 + + + 6 + 8 + 330 + + + 8 + 17 + 412 + + + 21 + 34 + 412 + + + 38 + 72 + 412 + + + 76 + 152 + 412 + + + 199 + 504 + 412 + + + 603 + 713 + 165 + + + + + + + + + javadocText + 2502848 + + + id + 2502848 + + + text + 1370363 + + + parentid + 1169475 + + + idx + 42112 + + + + + id + text + + + 12 + + + 1 + 2 + 2502848 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 2502848 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 2502848 + + + + + + + text + id + + + 12 + + + 1 + 2 + 1139314 + + + 2 + 3 + 149670 + + + 3 + 147 + 81379 + + + + + + + text + parentid + + + 12 + + + 1 + 2 + 1140452 + + + 2 + 3 + 149101 + + + 3 + 88 + 80810 + + + + + + + text + idx + + + 12 + + + 1 + 2 + 1346462 + + + 2 + 32 + 23901 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 870135 + + + 2 + 3 + 159344 + + + 3 + 12 + 83086 + + + 12 + 75 + 56908 + + + + + + + parentid + text + + + 12 + + + 1 + 2 + 870135 + + + 2 + 3 + 159344 + + + 3 + 12 + 84225 + + + 12 + 67 + 55770 + + + + + + + parentid + idx + + + 12 + + + 1 + 2 + 870135 + + + 2 + 3 + 159344 + + + 3 + 12 + 83086 + + + 12 + 75 + 56908 + + + + + + + idx + id + + + 12 + + + 2 + 3 + 21056 + + + 3 + 5 + 2276 + + + 5 + 7 + 3414 + + + 7 + 11 + 2276 + + + 12 + 16 + 3414 + + + 19 + 102 + 3414 + + + 108 + 154 + 3414 + + + 181 + 2056 + 2845 + + + + + + + idx + text + + + 12 + + + 1 + 2 + 569 + + + 2 + 3 + 20487 + + + 3 + 5 + 2845 + + + 5 + 7 + 3414 + + + 7 + 13 + 3414 + + + 13 + 23 + 3414 + + + 27 + 47 + 3414 + + + 47 + 123 + 3414 + + + 254 + 1252 + 1138 + + + + + + + idx + parentid + + + 12 + + + 2 + 3 + 21056 + + + 3 + 5 + 2276 + + + 5 + 7 + 3414 + + + 7 + 11 + 2276 + + + 12 + 16 + 3414 + + + 19 + 102 + 3414 + + + 108 + 154 + 3414 + + + 181 + 2056 + 2845 + + + + + + + + + xmlEncoding + 1129463 + + + id + 1129463 + + + encoding + 1920 + + + + + id + encoding + + + 12 + + + 1 + 2 + 1129463 + + + + + + + encoding + id + + + 12 + + + 588 + 589 + 1920 + + + + + + + + + xmlDTDs + 569 + + + id + 569 + + + root + 569 + + + publicId + 569 + + + systemId + 569 + + + fileid + 569 + + + + + id + root + + + 12 + + + 1 + 2 + 569 + + + + + + + id + publicId + + + 12 + + + 1 + 2 + 569 + + + + + + + id + systemId + + + 12 + + + 1 + 2 + 569 + + + + + + + id + fileid + + + 12 + + + 1 + 2 + 569 + + + + + + + root + id + + + 12 + + + 1 + 2 + 569 + + + + + + + root + publicId + + + 12 + + + 1 + 2 + 569 + + + + + + + root + systemId + + + 12 + + + 1 + 2 + 569 + + + + + + + root + fileid + + + 12 + + + 1 + 2 + 569 + + + + + + + publicId + id + + + 12 + + + 1 + 2 + 569 + + + + + + + publicId + root + + + 12 + + + 1 + 2 + 569 + + + + + + + publicId + systemId + + + 12 + + + 1 + 2 + 569 + + + + + + + publicId + fileid + + + 12 + + + 1 + 2 + 569 + + + + + + + systemId + id + + + 12 + + + 1 + 2 + 569 + + + + + + + systemId + root + + + 12 + + + 1 + 2 + 569 + + + + + + + systemId + publicId + + + 12 + + + 1 + 2 + 569 + + + + + + + systemId + fileid + + + 12 + + + 1 + 2 + 569 + + + + + + + fileid + id + + + 12 + + + 1 + 2 + 569 + + + + + + + fileid + root + + + 12 + + + 1 + 2 + 569 + + + + + + + fileid + publicId + + + 12 + + + 1 + 2 + 569 + + + + + + + fileid + systemId + + + 12 + + + 1 + 2 + 569 + + + + + + + + + xmlElements + 150282022 + + + id + 150282022 + + + name + 476372 + + + parentid + 3876287 + + + idx + 1703799 + + + fileid + 1129463 + + + + + id + name + + + 12 + + + 1 + 2 + 150282022 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 150282022 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 150282022 + + + + + + + id + fileid + + + 12 + + + 1 + 2 + 150282022 + + + + + + + name + id + + + 12 + + + 1 + 2 + 149826 + + + 2 + 3 + 57625 + + + 3 + 4 + 23050 + + + 4 + 6 + 42258 + + + 6 + 8 + 34575 + + + 8 + 9 + 17287 + + + 9 + 10 + 32654 + + + 10 + 18 + 40337 + + + 18 + 48 + 36496 + + + 52 + 250 + 36496 + + + 342 + 73380 + 5762 + + + + + + + name + parentid + + + 12 + + + 1 + 2 + 174797 + + + 2 + 3 + 65309 + + + 3 + 4 + 24971 + + + 4 + 5 + 21129 + + + 5 + 6 + 26891 + + + 6 + 8 + 40337 + + + 8 + 10 + 40337 + + + 10 + 21 + 38417 + + + 22 + 128 + 36496 + + + 130 + 229 + 7683 + + + + + + + name + idx + + + 12 + + + 1 + 2 + 263157 + + + 2 + 3 + 69150 + + + 3 + 4 + 34575 + + + 4 + 6 + 28812 + + + 6 + 9 + 28812 + + + 9 + 38 + 36496 + + + 45 + 888 + 15366 + + + + + + + name + fileid + + + 12 + + + 1 + 2 + 259315 + + + 2 + 3 + 51863 + + + 3 + 4 + 24971 + + + 4 + 5 + 19208 + + + 5 + 7 + 42258 + + + 7 + 16 + 36496 + + + 17 + 114 + 38417 + + + 118 + 131 + 3841 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 2358811 + + + 2 + 3 + 605069 + + + 3 + 4 + 251632 + + + 4 + 8 + 301574 + + + 8 + 777 + 316941 + + + 777 + 888 + 42258 + + + + + + + parentid + name + + + 12 + + + 1 + 2 + 3200146 + + + 2 + 3 + 411063 + + + 3 + 17 + 265078 + + + + + + + parentid + idx + + + 12 + + + 1 + 2 + 2358811 + + + 2 + 3 + 605069 + + + 3 + 4 + 251632 + + + 4 + 8 + 301574 + + + 8 + 777 + 316941 + + + 777 + 888 + 42258 + + + + + + + parentid + fileid + + + 12 + + + 1 + 2 + 3876287 + + + + + + + idx + id + + + 12 + + + 2 + 8 + 144064 + + + 9 + 76 + 136380 + + + 76 + 82 + 128697 + + + 82 + 89 + 122934 + + + 89 + 92 + 111409 + + + 92 + 95 + 134459 + + + 95 + 97 + 149826 + + + 97 + 98 + 211294 + + + 98 + 99 + 130618 + + + 99 + 104 + 155589 + + + 104 + 106 + 130618 + + + 106 + 159 + 128697 + + + 162 + 2019 + 19208 + + + + + + + idx + name + + + 12 + + + 1 + 2 + 1381095 + + + 2 + 5 + 126776 + + + 5 + 9 + 145985 + + + 9 + 150 + 49942 + + + + + + + idx + parentid + + + 12 + + + 2 + 8 + 144064 + + + 9 + 76 + 136380 + + + 76 + 82 + 128697 + + + 82 + 89 + 122934 + + + 89 + 92 + 111409 + + + 92 + 95 + 134459 + + + 95 + 97 + 149826 + + + 97 + 98 + 211294 + + + 98 + 99 + 130618 + + + 99 + 104 + 155589 + + + 104 + 106 + 130618 + + + 106 + 159 + 128697 + + + 162 + 2019 + 19208 + + + + + + + idx + fileid + + + 12 + + + 2 + 8 + 144064 + + + 9 + 76 + 136380 + + + 76 + 82 + 128697 + + + 82 + 89 + 122934 + + + 89 + 92 + 111409 + + + 92 + 95 + 134459 + + + 95 + 97 + 149826 + + + 97 + 98 + 211294 + + + 98 + 99 + 130618 + + + 99 + 104 + 155589 + + + 104 + 106 + 130618 + + + 106 + 139 + 128697 + + + 141 + 589 + 19208 + + + + + + + fileid + id + + + 12 + + + 1 + 2 + 82596 + + + 2 + 3 + 190164 + + + 3 + 4 + 249711 + + + 4 + 5 + 105647 + + + 5 + 7 + 84517 + + + 7 + 10 + 94121 + + + 10 + 31 + 88359 + + + 35 + 694 + 86438 + + + 738 + 776 + 28812 + + + 777 + 779 + 92201 + + + 788 + 889 + 26891 + + + + + + + fileid + name + + + 12 + + + 1 + 2 + 82596 + + + 2 + 3 + 562810 + + + 3 + 4 + 195927 + + + 4 + 5 + 92201 + + + 5 + 6 + 86438 + + + 6 + 9 + 92201 + + + 9 + 69 + 17287 + + + + + + + fileid + parentid + + + 12 + + + 1 + 2 + 82596 + + + 2 + 3 + 800997 + + + 3 + 4 + 80675 + + + 4 + 6 + 82596 + + + 6 + 165 + 82596 + + + + + + + fileid + idx + + + 12 + + + 1 + 2 + 286207 + + + 2 + 3 + 309257 + + + 3 + 4 + 124855 + + + 4 + 7 + 94121 + + + 7 + 17 + 94121 + + + 18 + 763 + 86438 + + + 764 + 777 + 92201 + + + 777 + 888 + 42258 + + + + + + + + + xmlAttrs + 182798274 + + + id + 182798274 + + + elementid + 149002731 + + + name + 722241 + + + value + 11548187 + + + idx + 44179 + + + fileid + 1127542 + + + + + id + elementid + + + 12 + + + 1 + 2 + 182798274 + + + + + + + id + name + + + 12 + + + 1 + 2 + 182798274 + + + + + + + id + value + + + 12 + + + 1 + 2 + 182798274 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 182798274 + + + + + + + id + fileid + + + 12 + + + 1 + 2 + 182798274 + + + + + + + elementid + id + + + 12 + + + 1 + 2 + 136351973 + + + 2 + 6 + 11204353 + + + 6 + 24 + 1446404 + + + + + + + elementid + name + + + 12 + + + 1 + 2 + 136351973 + + + 2 + 6 + 11223562 + + + 6 + 23 + 1427196 + + + + + + + elementid + value + + + 12 + + + 1 + 2 + 136426886 + + + 2 + 6 + 11279267 + + + 6 + 21 + 1296577 + + + + + + + elementid + idx + + + 12 + + + 1 + 2 + 136351973 + + + 2 + 6 + 11204353 + + + 6 + 24 + 1446404 + + + + + + + elementid + fileid + + + 12 + + + 1 + 2 + 149002731 + + + + + + + name + id + + + 12 + + + 1 + 2 + 149826 + + + 2 + 3 + 78755 + + + 3 + 4 + 44179 + + + 4 + 5 + 24971 + + + 5 + 6 + 42258 + + + 6 + 8 + 51863 + + + 8 + 11 + 59546 + + + 11 + 22 + 55704 + + + 23 + 38 + 57625 + + + 38 + 79 + 57625 + + + 81 + 168 + 55704 + + + 168 + 74700 + 44179 + + + + + + + name + elementid + + + 12 + + + 1 + 2 + 149826 + + + 2 + 3 + 78755 + + + 3 + 4 + 44179 + + + 4 + 5 + 24971 + + + 5 + 6 + 42258 + + + 6 + 8 + 51863 + + + 8 + 11 + 65309 + + + 11 + 25 + 61467 + + + 25 + 39 + 59546 + + + 43 + 91 + 57625 + + + 91 + 227 + 55704 + + + 227 + 74700 + 30733 + + + + + + + name + value + + + 12 + + + 1 + 2 + 303495 + + + 2 + 3 + 113330 + + + 3 + 4 + 48021 + + + 4 + 5 + 51863 + + + 5 + 9 + 59546 + + + 9 + 21 + 55704 + + + 22 + 64 + 59546 + + + 68 + 2100 + 30733 + + + + + + + name + idx + + + 12 + + + 1 + 2 + 284286 + + + 2 + 3 + 134459 + + + 3 + 4 + 69150 + + + 4 + 5 + 76834 + + + 5 + 7 + 46100 + + + 7 + 10 + 57625 + + + 10 + 21 + 53783 + + + + + + + name + fileid + + + 12 + + + 1 + 2 + 251632 + + + 2 + 3 + 74913 + + + 3 + 4 + 38417 + + + 4 + 5 + 34575 + + + 5 + 6 + 53783 + + + 6 + 9 + 59546 + + + 9 + 17 + 63388 + + + 17 + 34 + 55704 + + + 36 + 91 + 55704 + + + 91 + 223 + 34575 + + + + + + + value + id + + + 12 + + + 1 + 2 + 6308091 + + + 2 + 3 + 1707641 + + + 3 + 5 + 885514 + + + 5 + 31 + 870147 + + + 31 + 91 + 908564 + + + 91 + 1111 + 866306 + + + 3397 + 3398 + 1920 + + + + + + + value + elementid + + + 12 + + + 1 + 2 + 6434868 + + + 2 + 3 + 1626965 + + + 3 + 5 + 897039 + + + 5 + 33 + 910485 + + + 33 + 93 + 891277 + + + 93 + 3398 + 787551 + + + + + + + value + name + + + 12 + + + 1 + 2 + 10480191 + + + 2 + 4 + 929694 + + + 4 + 53 + 138301 + + + + + + + value + idx + + + 12 + + + 1 + 2 + 9563942 + + + 2 + 3 + 1396462 + + + 3 + 20 + 587781 + + + + + + + value + fileid + + + 12 + + + 1 + 2 + 7433713 + + + 2 + 3 + 1252398 + + + 3 + 10 + 897039 + + + 10 + 83 + 877831 + + + 83 + 99 + 881672 + + + 99 + 182 + 205531 + + + + + + + idx + id + + + 12 + + + 1 + 6 + 3841 + + + 12 + 14 + 3841 + + + 17 + 26 + 3841 + + + 39 + 56 + 3841 + + + 83 + 110 + 3841 + + + 153 + 232 + 3841 + + + 316 + 400 + 3841 + + + 468 + 545 + 3841 + + + 626 + 754 + 3841 + + + 951 + 1491 + 3841 + + + 4718 + 6587 + 3841 + + + 77571 + 77572 + 1920 + + + + + + + idx + elementid + + + 12 + + + 1 + 6 + 3841 + + + 12 + 14 + 3841 + + + 17 + 26 + 3841 + + + 39 + 56 + 3841 + + + 83 + 110 + 3841 + + + 153 + 232 + 3841 + + + 316 + 400 + 3841 + + + 468 + 545 + 3841 + + + 626 + 754 + 3841 + + + 951 + 1491 + 3841 + + + 4718 + 6587 + 3841 + + + 77571 + 77572 + 1920 + + + + + + + idx + name + + + 12 + + + 1 + 4 + 3841 + + + 7 + 10 + 3841 + + + 11 + 17 + 3841 + + + 18 + 23 + 3841 + + + 26 + 38 + 3841 + + + 39 + 49 + 3841 + + + 57 + 67 + 3841 + + + 72 + 79 + 3841 + + + 95 + 101 + 3841 + + + 105 + 106 + 3841 + + + 106 + 132 + 3841 + + + 140 + 141 + 1920 + + + + + + + idx + value + + + 12 + + + 1 + 5 + 3841 + + + 7 + 10 + 3841 + + + 11 + 18 + 3841 + + + 22 + 32 + 3841 + + + 46 + 63 + 3841 + + + 85 + 119 + 3841 + + + 142 + 185 + 3841 + + + 212 + 228 + 3841 + + + 253 + 275 + 3841 + + + 307 + 423 + 3841 + + + 580 + 1324 + 3841 + + + 3579 + 3580 + 1920 + + + + + + + idx + fileid + + + 12 + + + 1 + 6 + 3841 + + + 7 + 8 + 3841 + + + 10 + 19 + 3841 + + + 23 + 36 + 3841 + + + 45 + 59 + 3841 + + + 73 + 97 + 3841 + + + 115 + 131 + 3841 + + + 140 + 148 + 3841 + + + 168 + 181 + 3841 + + + 248 + 363 + 3841 + + + 473 + 530 + 3841 + + + 587 + 588 + 1920 + + + + + + + fileid + id + + + 12 + + + 1 + 3 + 84517 + + + 3 + 5 + 86438 + + + 5 + 6 + 51863 + + + 6 + 7 + 86438 + + + 7 + 8 + 72992 + + + 8 + 10 + 82596 + + + 10 + 15 + 92201 + + + 15 + 27 + 86438 + + + 27 + 41 + 86438 + + + 41 + 65 + 86438 + + + 65 + 157 + 92201 + + + 162 + 817 + 86438 + + + 818 + 832 + 94121 + + + 832 + 1187 + 38417 + + + + + + + fileid + elementid + + + 12 + + + 1 + 2 + 128697 + + + 2 + 3 + 265078 + + + 3 + 4 + 159431 + + + 4 + 5 + 109488 + + + 5 + 8 + 101805 + + + 8 + 14 + 86438 + + + 14 + 295 + 86438 + + + 330 + 775 + 71071 + + + 776 + 778 + 92201 + + + 787 + 888 + 26891 + + + + + + + fileid + name + + + 12 + + + 1 + 2 + 71071 + + + 2 + 3 + 92201 + + + 3 + 4 + 71071 + + + 4 + 5 + 94121 + + + 5 + 6 + 170956 + + + 6 + 7 + 161351 + + + 7 + 8 + 71071 + + + 8 + 12 + 86438 + + + 12 + 18 + 97963 + + + 18 + 24 + 96042 + + + 24 + 37 + 88359 + + + 37 + 55 + 26891 + + + + + + + fileid + value + + + 12 + + + 1 + 3 + 97963 + + + 3 + 4 + 55704 + + + 4 + 5 + 103726 + + + 5 + 6 + 124855 + + + 6 + 8 + 88359 + + + 8 + 12 + 99884 + + + 12 + 19 + 86438 + + + 19 + 27 + 97963 + + + 27 + 41 + 86438 + + + 42 + 170 + 86438 + + + 205 + 780 + 80675 + + + 781 + 783 + 92201 + + + 791 + 893 + 26891 + + + + + + + fileid + idx + + + 12 + + + 1 + 2 + 111409 + + + 2 + 3 + 107567 + + + 3 + 4 + 213215 + + + 4 + 5 + 218977 + + + 5 + 6 + 130618 + + + 6 + 10 + 96042 + + + 10 + 12 + 65309 + + + 12 + 15 + 97963 + + + 15 + 24 + 86438 + + + + + + + + + xmlNs + 1811367 + + + id + 11525 + + + prefixName + 13445 + + + URI + 11525 + + + fileid + 1054550 + + + + + id + prefixName + + + 12 + + + 1 + 2 + 9604 + + + 2 + 3 + 1920 + + + + + + + id + URI + + + 12 + + + 1 + 2 + 11525 + + + + + + + id + fileid + + + 12 + + + 2 + 3 + 1920 + + + 20 + 21 + 1920 + + + 88 + 89 + 1920 + + + 167 + 168 + 1920 + + + 213 + 214 + 1920 + + + 453 + 454 + 1920 + + + + + + + prefixName + id + + + 12 + + + 1 + 2 + 13445 + + + + + + + prefixName + URI + + + 12 + + + 1 + 2 + 13445 + + + + + + + prefixName + fileid + + + 12 + + + 1 + 2 + 1920 + + + 2 + 3 + 1920 + + + 20 + 21 + 1920 + + + 88 + 89 + 1920 + + + 166 + 167 + 1920 + + + 213 + 214 + 1920 + + + 453 + 454 + 1920 + + + + + + + URI + id + + + 12 + + + 1 + 2 + 11525 + + + + + + + URI + prefixName + + + 12 + + + 1 + 2 + 9604 + + + 2 + 3 + 1920 + + + + + + + URI + fileid + + + 12 + + + 2 + 3 + 1920 + + + 20 + 21 + 1920 + + + 88 + 89 + 1920 + + + 167 + 168 + 1920 + + + 213 + 214 + 1920 + + + 453 + 454 + 1920 + + + + + + + fileid + id + + + 12 + + + 1 + 2 + 470609 + + + 2 + 3 + 411063 + + + 3 + 4 + 172877 + + + + + + + fileid + prefixName + + + 12 + + + 1 + 2 + 470609 + + + 2 + 3 + 411063 + + + 3 + 4 + 172877 + + + + + + + fileid + URI + + + 12 + + + 1 + 2 + 470609 + + + 2 + 3 + 411063 + + + 3 + 4 + 172877 + + + + + + + + + xmlHasNs + 36540446 + + + elementId + 36540446 + + + nsId + 11525 + + + fileid + 1048787 + + + + + elementId + nsId + + + 12 + + + 1 + 2 + 36540446 + + + + + + + elementId + fileid + + + 12 + + + 1 + 2 + 36540446 + + + + + + + nsId + elementId + + + 12 + + + 13 + 14 + 1920 + + + 84 + 85 + 1920 + + + 2426 + 2427 + 1920 + + + 2733 + 2734 + 1920 + + + 3704 + 3705 + 1920 + + + 10063 + 10064 + 1920 + + + + + + + nsId + fileid + + + 12 + + + 2 + 3 + 1920 + + + 20 + 21 + 1920 + + + 86 + 87 + 1920 + + + 164 + 165 + 1920 + + + 209 + 210 + 1920 + + + 453 + 454 + 1920 + + + + + + + fileid + elementId + + + 12 + + + 1 + 3 + 63388 + + + 3 + 5 + 88359 + + + 5 + 6 + 48021 + + + 6 + 7 + 92201 + + + 7 + 8 + 69150 + + + 8 + 10 + 86438 + + + 10 + 15 + 92201 + + + 15 + 25 + 78755 + + + 25 + 36 + 80675 + + + 36 + 49 + 82596 + + + 49 + 54 + 21129 + + + 54 + 55 + 82596 + + + 55 + 81 + 80675 + + + 81 + 298 + 78755 + + + 298 + 833 + 3841 + + + + + + + fileid + nsId + + + 12 + + + 1 + 2 + 472530 + + + 2 + 3 + 407221 + + + 3 + 4 + 169035 + + + + + + + + + xmlComments + 151257816 + + + id + 151257816 + + + text + 2387624 + + + parentid + 1185168 + + + fileid + 1108333 + + + + + id + text + + + 12 + + + 1 + 2 + 151257816 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 151257816 + + + + + + + id + fileid + + + 12 + + + 1 + 2 + 151257816 + + + + + + + text + id + + + 12 + + + 1 + 2 + 328466 + + + 2 + 7 + 195927 + + + 7 + 32 + 197848 + + + 32 + 61 + 180560 + + + 61 + 76 + 180560 + + + 76 + 84 + 192085 + + + 84 + 90 + 176718 + + + 90 + 94 + 157510 + + + 94 + 95 + 84517 + + + 95 + 96 + 142143 + + + 96 + 98 + 197848 + + + 98 + 100 + 178639 + + + 100 + 460 + 174797 + + + + + + + text + parentid + + + 12 + + + 1 + 2 + 332308 + + + 2 + 6 + 190164 + + + 6 + 32 + 201689 + + + 32 + 61 + 182481 + + + 61 + 75 + 186323 + + + 75 + 84 + 209373 + + + 84 + 90 + 172877 + + + 90 + 94 + 169035 + + + 94 + 95 + 94121 + + + 95 + 96 + 145985 + + + 96 + 98 + 201689 + + + 98 + 100 + 190164 + + + 100 + 460 + 111409 + + + + + + + text + fileid + + + 12 + + + 1 + 2 + 347674 + + + 2 + 7 + 188243 + + + 7 + 32 + 188243 + + + 32 + 61 + 182481 + + + 61 + 75 + 186323 + + + 75 + 84 + 209373 + + + 84 + 90 + 172877 + + + 90 + 94 + 169035 + + + 94 + 95 + 94121 + + + 95 + 96 + 145985 + + + 96 + 98 + 201689 + + + 98 + 100 + 190164 + + + 100 + 460 + 111409 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 943140 + + + 2 + 724 + 90280 + + + 726 + 830 + 109488 + + + 831 + 941 + 42258 + + + + + + + parentid + text + + + 12 + + + 1 + 2 + 943140 + + + 2 + 697 + 90280 + + + 697 + 795 + 48021 + + + 795 + 827 + 90280 + + + 838 + 899 + 13445 + + + + + + + parentid + fileid + + + 12 + + + 1 + 2 + 1185168 + + + + + + + fileid + id + + + 12 + + + 1 + 2 + 847097 + + + 2 + 549 + 84517 + + + 579 + 829 + 57625 + + + 829 + 832 + 92201 + + + 834 + 941 + 26891 + + + + + + + fileid + text + + + 12 + + + 1 + 2 + 847097 + + + 2 + 536 + 84517 + + + 560 + 795 + 72992 + + + 795 + 812 + 84517 + + + 819 + 899 + 19208 + + + + + + + fileid + parentid + + + 12 + + + 1 + 2 + 1052629 + + + 2 + 6 + 55704 + + + + + + + + + xmlChars + 142938589 + + + id + 142938589 + + + text + 109773086 + + + parentid + 142938589 + + + idx + 1920 + + + isCDATA + 3841 + + + fileid + 249711 + + + + + id + text + + + 12 + + + 1 + 2 + 142938589 + + + + + + + id + parentid + + + 12 + + + 1 + 2 + 142938589 + + + + + + + id + idx + + + 12 + + + 1 + 2 + 142938589 + + + + + + + id + isCDATA + + + 12 + + + 1 + 2 + 142938589 + + + + + + + id + fileid + + + 12 + + + 1 + 2 + 142938589 + + + + + + + text + id + + + 12 + + + 1 + 2 + 93927944 + + + 2 + 3 + 9865517 + + + 3 + 128 + 5979625 + + + + + + + text + parentid + + + 12 + + + 1 + 2 + 93927944 + + + 2 + 3 + 9865517 + + + 3 + 128 + 5979625 + + + + + + + text + idx + + + 12 + + + 1 + 2 + 109773086 + + + + + + + text + isCDATA + + + 12 + + + 1 + 2 + 109773086 + + + + + + + text + fileid + + + 12 + + + 1 + 2 + 105030493 + + + 2 + 76 + 4742593 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 142938589 + + + + + + + parentid + text + + + 12 + + + 1 + 2 + 142938589 + + + + + + + parentid + idx + + + 12 + + + 1 + 2 + 142938589 + + + + + + + parentid + isCDATA + + + 12 + + + 1 + 2 + 142938589 + + + + + + + parentid + fileid + + + 12 + + + 1 + 2 + 142938589 + + + + + + + idx + id + + + 12 + + + 74414 + 74415 + 1920 + + + + + + + idx + text + + + 12 + + + 57148 + 57149 + 1920 + + + + + + + idx + parentid + + + 12 + + + 74414 + 74415 + 1920 + + + + + + + idx + isCDATA + + + 12 + + + 2 + 3 + 1920 + + + + + + + idx + fileid + + + 12 + + + 130 + 131 + 1920 + + + + + + + isCDATA + id + + + 12 + + + 518 + 519 + 1920 + + + 73896 + 73897 + 1920 + + + + + + + isCDATA + text + + + 12 + + + 492 + 493 + 1920 + + + 56656 + 56657 + 1920 + + + + + + + isCDATA + parentid + + + 12 + + + 518 + 519 + 1920 + + + 73896 + 73897 + 1920 + + + + + + + isCDATA + idx + + + 12 + + + 1 + 2 + 3841 + + + + + + + isCDATA + fileid + + + 12 + + + 98 + 99 + 1920 + + + 130 + 131 + 1920 + + + + + + + fileid + id + + + 12 + + + 1 + 2 + 21129 + + + 2 + 23 + 19208 + + + 24 + 243 + 19208 + + + 294 + 566 + 19208 + + + 610 + 686 + 19208 + + + 691 + 764 + 19208 + + + 765 + 775 + 19208 + + + 775 + 776 + 5762 + + + 776 + 777 + 69150 + + + 777 + 803 + 19208 + + + 807 + 888 + 19208 + + + + + + + fileid + text + + + 12 + + + 1 + 2 + 21129 + + + 2 + 21 + 19208 + + + 22 + 188 + 19208 + + + 208 + 492 + 19208 + + + 525 + 589 + 19208 + + + 590 + 638 + 19208 + + + 639 + 651 + 19208 + + + 652 + 656 + 17287 + + + 656 + 659 + 23050 + + + 659 + 663 + 21129 + + + 663 + 667 + 19208 + + + 667 + 701 + 19208 + + + 702 + 744 + 13445 + + + + + + + fileid + parentid + + + 12 + + + 1 + 2 + 21129 + + + 2 + 23 + 19208 + + + 24 + 243 + 19208 + + + 294 + 566 + 19208 + + + 610 + 686 + 19208 + + + 691 + 764 + 19208 + + + 765 + 775 + 19208 + + + 775 + 776 + 5762 + + + 776 + 777 + 69150 + + + 777 + 803 + 19208 + + + 807 + 888 + 19208 + + + + + + + fileid + idx + + + 12 + + + 1 + 2 + 249711 + + + + + + + fileid + isCDATA + + + 12 + + + 1 + 2 + 61467 + + + 2 + 3 + 188243 + + + + + + + + + xmllocations + 630217533 + + + xmlElement + 628417691 + + + location + 590551854 + + + + + xmlElement + location + + + 12 + + + 1 + 2 + 628406166 + + + 2 + 454 + 11525 + + + + + + + location + xmlElement + + + 12 + + + 1 + 2 + 577165407 + + + 2 + 25 + 13386446 + + + + + + + + + configs + 1 + + + id + 1 + + + + + + configNames + 1 + + + id + 1 + + + config + 1 + + + name + 1 + + + + + id + config + + + 12 + + + 1 + 2 + 1 + + + + + + + id + name + + + 12 + + + 1 + 2 + 1 + + + + + + + config + id + + + 12 + + + + + + config + name + + + 12 + + + + + + name + id + + + 12 + + + + + + name + config + + + 12 + + + + + + + + configValues + 1 + + + id + 1 + + + config + 1 + + + value + 1 + + + + + id + config + + + 12 + + + 1 + 2 + 1 + + + + + + + id + value + + + 12 + + + 1 + 2 + 1 + + + + + + + config + id + + + 12 + + + + + + config + value + + + 12 + + + + + + value + id + + + 12 + + + + + + value + config + + + 12 + + + + + + + + configLocations + 1 + + + locatable + 1 + + + location + 1 + + + + + locatable + location + + + 12 + + + + + + location + locatable + + + 12 + + + + + + + + ktComments + 188243 + + + id + 188243 + + + kind + 5762 + + + text + 136380 + + + + + id + kind + + + 12 + + + 1 + 2 + 188243 + + + + + + + id + text + + + 12 + + + 1 + 2 + 188243 + + + + + + + kind + id + + + 12 + + + 16 + 17 + 1920 + + + 22 + 23 + 1920 + + + 60 + 61 + 1920 + + + + + + + kind + text + + + 12 + + + 1 + 2 + 1920 + + + 16 + 17 + 1920 + + + 54 + 55 + 1920 + + + + + + + text + id + + + 12 + + + 1 + 2 + 130618 + + + 4 + 23 + 5762 + + + + + + + text + kind + + + 12 + + + 1 + 2 + 136380 + + + + + + + + + ktCommentSections + 52611 + + + id + 52611 + + + comment + 48161 + + + content + 44765 + + + + + id + comment + + + 12 + + + 1 + 2 + 52611 + + + + + + + id + content + + + 12 + + + 1 + 2 + 52611 + + + + + + + comment + id + + + 12 + + + 1 + 2 + 46367 + + + 2 + 18 + 1793 + + + + + + + comment + content + + + 12 + + + 1 + 2 + 46367 + + + 2 + 18 + 1793 + + + + + + + content + id + + + 12 + + + 1 + 2 + 39616 + + + 2 + 3 + 4313 + + + 3 + 63 + 835 + + + + + + + content + comment + + + 12 + + + 1 + 2 + 39712 + + + 2 + 3 + 4231 + + + 3 + 56 + 821 + + + + + + + + + ktCommentSectionNames + 4450 + + + id + 4450 + + + name + 13 + + + + + id + name + + + 12 + + + 1 + 2 + 4450 + + + + + + + name + id + + + 12 + + + 325 + 326 + 13 + + + + + + + + + ktCommentSectionSubjectNames + 4450 + + + id + 4450 + + + subjectname + 2916 + + + + + id + subjectname + + + 12 + + + 1 + 2 + 4450 + + + + + + + subjectname + id + + + 12 + + + 1 + 2 + 2218 + + + 2 + 3 + 438 + + + 3 + 9 + 219 + + + 10 + 16 + 41 + + + + + + + + + ktCommentOwners + 75329 + + + id + 47914 + + + owner + 73508 + + + + + id + owner + + + 12 + + + 1 + 2 + 30838 + + + 2 + 3 + 10872 + + + 3 + 4 + 4025 + + + 4 + 6 + 2177 + + + + + + + owner + id + + + 12 + + + 1 + 2 + 71701 + + + 2 + 4 + 1807 + + + + + + + + + ktExtensionFunctions + 1206297 + + + id + 1206297 + + + typeid + 97963 + + + kttypeid + 1920 + + + + + id + typeid + + + 12 + + + 1 + 2 + 1206297 + + + + + + + id + kttypeid + + + 12 + + + 1 + 2 + 1206297 + + + + + + + typeid + id + + + 12 + + + 1 + 2 + 55704 + + + 2 + 3 + 5762 + + + 3 + 4 + 3841 + + + 5 + 6 + 13445 + + + 7 + 16 + 7683 + + + 20 + 87 + 7683 + + + 109 + 227 + 3841 + + + + + + + typeid + kttypeid + + + 12 + + + 1 + 2 + 97963 + + + + + + + kttypeid + id + + + 12 + + + 628 + 629 + 1920 + + + + + + + kttypeid + typeid + + + 12 + + + 51 + 52 + 1920 + + + + + + + + + ktProperties + 21895839 + + + id + 21895839 + + + nodeName + 13542035 + + + + + id + nodeName + + + 12 + + + 1 + 2 + 21895839 + + + + + + + nodeName + id + + + 12 + + + 1 + 2 + 11824790 + + + 2 + 4 + 1142909 + + + 4 + 352 + 574335 + + + + + + + + + ktPropertyGetters + 5985387 + + + id + 5985387 + + + getter + 5985387 + + + + + id + getter + + + 12 + + + 1 + 2 + 5985387 + + + + + + + getter + id + + + 12 + + + 1 + 2 + 5985387 + + + + + + + + + ktPropertySetters + 366883 + + + id + 366883 + + + setter + 366883 + + + + + id + setter + + + 12 + + + 1 + 2 + 366883 + + + + + + + setter + id + + + 12 + + + 1 + 2 + 366883 + + + + + + + + + ktPropertyBackingFields + 14423708 + + + id + 14423708 + + + backingField + 14423708 + + + + + id + backingField + + + 12 + + + 1 + 2 + 14423708 + + + + + + + backingField + id + + + 12 + + + 1 + 2 + 14423708 + + + + + + + + + ktSyntheticBody + 9108 + + + id + 9108 + + + kind + 1821 + + + + + id + kind + + + 12 + + + 1 + 2 + 9108 + + + + + + + kind + id + + + 12 + + + 5 + 6 + 1821 + + + + + + + + + ktLocalFunction + 3841 + + + id + 3841 + + + + + + ktInitializerAssignment + 199475 + + + id + 199475 + + + + + + ktPropertyDelegates + 5201 + + + id + 5201 + + + variableId + 5201 + + + + + id + variableId + + + 12 + + + 1 + 2 + 5201 + + + + + + + variableId + id + + + 12 + + + 1 + 2 + 5201 + + + + + + + + + compiler_generated + 1467534 + + + id + 1467534 + + + kind + 13445 + + + + + id + kind + + + 12 + + + 1 + 2 + 1467534 + + + + + + + kind + id + + + 12 + + + 1 + 2 + 1920 + + + 8 + 9 + 1920 + + + 38 + 39 + 1920 + + + 81 + 82 + 1920 + + + 85 + 86 + 1920 + + + 236 + 237 + 1920 + + + 315 + 316 + 1920 + + + + + + + + + ktFunctionOriginalNames + 1586627 + + + id + 1586627 + + + name + 186323 + + + + + id + name + + + 12 + + + 1 + 2 + 1586627 + + + + + + + name + id + + + 12 + + + 1 + 2 + 147905 + + + 2 + 4 + 13445 + + + 6 + 16 + 15366 + + + 22 + 339 + 9604 + + + + + + + + + ktDataClasses + 113330 + + + id + 113330 + + + + + + diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties new file mode 100644 index 00000000000..0c14acf20bd --- /dev/null +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties @@ -0,0 +1,4 @@ +description: Merge class and interface tables +compatibility: full +classes_or_interfaces.rel: run classes_or_interfaces.qlo +isInterface.rel: run isInterface.qlo diff --git a/java/ql/test/library-tests/qlengine/selectAtType.ql b/java/ql/test/library-tests/qlengine/selectAtType.ql index 3947b504059..14fa6ce034f 100644 --- a/java/ql/test/library-tests/qlengine/selectAtType.ql +++ b/java/ql/test/library-tests/qlengine/selectAtType.ql @@ -1,5 +1,5 @@ import java -@class clasz() { any() } +@classorinterface clasz() { any() } select clasz() From f48d87ba55938946fa2f27e041075a080aa573d3 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 7 Feb 2023 12:40:40 +0000 Subject: [PATCH 2/6] Add deletions for removed tables --- .../934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties | 1 + .../44d61b266bebf261cb027872646262e645efa059/upgrade.properties | 2 ++ 2 files changed, 3 insertions(+) diff --git a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties index 52c95780abc..ad10ae1fc72 100644 --- a/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties +++ b/java/downgrades/934bf10b4bd34cf648893efcd1d0d7be9471d39f/upgrade.properties @@ -3,3 +3,4 @@ compatibility: full classes.rel: run classes.qlo interfaces.rel: run interfaces.qlo isInterface.rel: delete +classes_or_interfaces.rel: delete diff --git a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties index 0c14acf20bd..e027c6666fb 100644 --- a/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties +++ b/java/ql/lib/upgrades/44d61b266bebf261cb027872646262e645efa059/upgrade.properties @@ -2,3 +2,5 @@ description: Merge class and interface tables compatibility: full classes_or_interfaces.rel: run classes_or_interfaces.qlo isInterface.rel: run isInterface.qlo +classes.rel: delete +interfaces.rel: delete From 82a2f4349adfd77ea458438f0e782594ec8acfb1 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 7 Feb 2023 18:38:17 +0000 Subject: [PATCH 3/6] Resolve a newly-introduced ambiguity Also fix a simple redundancy noticed while debugging --- java/ql/lib/semmle/code/java/Type.qll | 2 +- java/ql/src/utils/stub-generator/Stubs.qll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/java/ql/lib/semmle/code/java/Type.qll b/java/ql/lib/semmle/code/java/Type.qll index f0b79ee945c..13d3a6ea443 100644 --- a/java/ql/lib/semmle/code/java/Type.qll +++ b/java/ql/lib/semmle/code/java/Type.qll @@ -839,7 +839,7 @@ class LocalClass extends LocalClassOrInterface, NestedClass { class TopLevelType extends RefType { TopLevelType() { not enclInReftype(this, _) and - (this instanceof Class or this instanceof Interface) + this instanceof ClassOrInterface } } diff --git a/java/ql/src/utils/stub-generator/Stubs.qll b/java/ql/src/utils/stub-generator/Stubs.qll index b670d3837bb..86d7beb8c15 100644 --- a/java/ql/src/utils/stub-generator/Stubs.qll +++ b/java/ql/src/utils/stub-generator/Stubs.qll @@ -515,7 +515,7 @@ private RefType getAReferencedType(RefType t) { /** A top level type whose file should be stubbed */ class GeneratedTopLevel extends TopLevelType instanceof GeneratedType { - GeneratedTopLevel() { this = this.getSourceDeclaration() } + GeneratedTopLevel() { this = this.(ClassOrInterface).getSourceDeclaration() } private TopLevelType getAnImportedType() { result = getAReferencedType(this).getSourceDeclaration() and From 7f76d8ae55a62e342902a2ef9af3b505b87b4a97 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Tue, 7 Feb 2023 18:40:25 +0000 Subject: [PATCH 4/6] Replace redundant use of `Class or Interface` --- java/ql/src/utils/stub-generator/Stubs.qll | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/ql/src/utils/stub-generator/Stubs.qll b/java/ql/src/utils/stub-generator/Stubs.qll index 86d7beb8c15..785f621cba0 100644 --- a/java/ql/src/utils/stub-generator/Stubs.qll +++ b/java/ql/src/utils/stub-generator/Stubs.qll @@ -523,9 +523,8 @@ class GeneratedTopLevel extends TopLevelType instanceof GeneratedType { } private string stubAnImport() { - exists(RefType t, string pkg, string name | + exists(ClassOrInterface t, string pkg, string name | t = this.getAnImportedType() and - (t instanceof Class or t instanceof Interface) and t.hasQualifiedName(pkg, name) and t != this and pkg != "java.lang" From d5f7ef08b7259d6713b747bc29dde4ea5475e8bc Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Thu, 9 Feb 2023 15:14:43 +0000 Subject: [PATCH 5/6] Update stats --- java/ql/lib/config/semmlecode.dbscheme.stats | 8258 +++++++++--------- 1 file changed, 3992 insertions(+), 4266 deletions(-) diff --git a/java/ql/lib/config/semmlecode.dbscheme.stats b/java/ql/lib/config/semmlecode.dbscheme.stats index 7ebc6e0b93e..05a477fec73 100644 --- a/java/ql/lib/config/semmlecode.dbscheme.stats +++ b/java/ql/lib/config/semmlecode.dbscheme.stats @@ -6,11 +6,11 @@ @kotlincompilation - 7683 + 2356 @diagnostic - 61632 + 64190 @externalDataElement @@ -26,71 +26,67 @@ @file - 9158642 + 1291911 @folder - 1415670 - - - @location_default - 602747369 + 293711 @package - 580098 + 121135 @primitive - 17287 + 5690 @modifier - 26891 + 6259 @errortype - 1 + 22 - @class - 12618104 + @classorinterface + 22273131 @kt_nullable_type - 1920 + 262 @kt_notnull_type - 172391 + 156265 @kt_type_alias - 1821 - - - @interface - 23200100 + 707 @fielddecl - 199475 + 210035 + + + @location_default + 82315299 @field - 19350704 + 2886451 @constructor - 8006128 + 1103682 @method - 109719302 + 15113893 @param - 120852585 + 16587479 @exception @@ -98,27 +94,27 @@ @typevariable - 6288883 + 864332 @wildcard - 3338447 + 458250 @typebound - 4229725 + 581989 @array - 1375332 + 190588 @import - 368550 + 441072 @block - 756817 + 707376 @ifstmt @@ -130,7 +126,7 @@ @enhancedforstmt - 18520 + 23697 @whilestmt @@ -138,7 +134,7 @@ @dostmt - 2405 + 2251 @trystmt @@ -150,11 +146,11 @@ @synchronizedstmt - 18206 + 23121 @returnstmt - 532846 + 345813 @throwstmt @@ -166,7 +162,7 @@ @continuestmt - 3211 + 3257 @emptystmt @@ -178,7 +174,7 @@ @assertstmt - 10815 + 15159 @localvariabledeclstmt @@ -186,7 +182,7 @@ @localtypedeclstmt - 3841 + 3533 @constructorinvocationstmt @@ -194,7 +190,7 @@ @superconstructorinvocationstmt - 201354 + 182518 @case @@ -206,7 +202,7 @@ @labeledstmt - 2342 + 4493 @yieldstmt @@ -218,7 +214,7 @@ @whenbranch - 225101 + 207293 @arrayaccess @@ -290,7 +286,7 @@ @nullliteral - 434113 + 355806 @mulexpr @@ -322,15 +318,15 @@ @urshiftexpr - 5463 + 9644 @andbitexpr - 110212 + 29089 @orbitexpr - 12590 + 11594 @xorbitexpr @@ -362,7 +358,7 @@ @eqexpr - 128429 + 104275 @neexpr @@ -370,7 +366,7 @@ @postincexpr - 29632 + 41859 @postdecexpr @@ -422,15 +418,15 @@ @typeliteral - 144350 + 98504 @thisaccess - 756915 + 490120 @superaccess - 99884 + 53024 @varaccess @@ -442,7 +438,7 @@ @unannotatedtypeaccess - 2608638 + 2374849 @arraytypeaccess @@ -450,7 +446,7 @@ @wildcardtypeaccess - 64091 + 74889 @declannotation @@ -458,7 +454,7 @@ @assignremexpr - 47 + 62 @assignxorexpr @@ -486,11 +482,11 @@ @uniontypeaccess - 917 + 1010 @lambdaexpr - 167982 + 152268 @memberref @@ -518,43 +514,43 @@ @whenexpr - 152111 + 116200 @getclassexpr - 1920 + 733 @safecastexpr - 6402 + 6086 @implicitcastexpr - 30316 + 28818 @implicitnotnullexpr - 216630 + 163412 @implicitcoerciontounitexpr - 81396 + 73781 @notinstanceofexpr - 17306 + 3981 @stmtexpr - 55704 + 50553 @stringtemplateexpr - 59546 + 24879 @notnullexpr - 18820 + 23342 @unsafecoerceexpr @@ -562,15 +558,15 @@ @valueeqexpr - 93060 + 85697 @valueneexpr - 95639 + 22980 @propertyref - 8878 + 8440 @localvar @@ -582,7 +578,7 @@ @requires - 1991 + 3190 @exports @@ -618,23 +614,23 @@ @xmlelement - 150282022 + 20510401 @xmlattribute - 182798274 + 24948200 @xmlnamespace - 11525 + 2845 @xmlcomment - 151257816 + 20643577 @xmlcharacters - 142938589 + 19508174 @config @@ -650,15 +646,15 @@ @ktcomment - 188243 + 74439 @ktcommentsection - 52611 + 47690 @kt_property - 21895839 + 2989117 @@ -880,30 +876,30 @@ compilation_started - 7683 + 2261 id - 7683 + 2261 compilation_info - 15366 + 4523 id - 7683 + 2261 info_key - 3841 + 188 info_value - 3841 + 188 @@ -917,7 +913,7 @@ 2 3 - 7683 + 2261 @@ -933,7 +929,7 @@ 2 3 - 7683 + 2261 @@ -947,9 +943,9 @@ 12 - 4 - 5 - 3841 + 24 + 25 + 188 @@ -965,7 +961,7 @@ 1 2 - 3841 + 188 @@ -979,9 +975,9 @@ 12 - 4 - 5 - 3841 + 24 + 25 + 188 @@ -997,7 +993,7 @@ 1 2 - 3841 + 188 @@ -1007,19 +1003,19 @@ compilation_args - 169035 + 69266 id - 7683 + 2356 num - 48021 + 12062 arg - 90280 + 35151 @@ -1030,20 +1026,45 @@ 12 + + 19 + 20 + 565 + 20 21 - 3841 + 753 - 23 - 24 - 1920 + 21 + 22 + 188 - 25 - 26 - 1920 + 22 + 25 + 188 + + + 32 + 33 + 188 + + + 34 + 43 + 188 + + + 52 + 54 + 188 + + + 128 + 129 + 94 @@ -1056,20 +1077,45 @@ 12 + + 19 + 20 + 565 + 20 21 - 3841 + 753 - 23 - 24 - 1920 + 21 + 22 + 188 - 25 - 26 - 1920 + 22 + 25 + 188 + + + 32 + 33 + 188 + + + 34 + 43 + 188 + + + 52 + 54 + 188 + + + 127 + 128 + 94 @@ -1085,17 +1131,32 @@ 1 2 - 3841 + 7068 2 - 3 - 5762 + 4 + 1036 4 - 5 - 38417 + 6 + 942 + + + 7 + 9 + 942 + + + 9 + 20 + 282 + + + 25 + 26 + 1790 @@ -1111,22 +1172,32 @@ 1 2 - 9604 + 7350 2 3 - 17287 + 188 3 4 - 11525 + 1507 4 - 5 - 9604 + 6 + 1036 + + + 6 + 9 + 942 + + + 9 + 26 + 1036 @@ -1142,17 +1213,12 @@ 1 2 - 61467 + 32607 2 - 3 - 3841 - - - 4 - 5 - 24971 + 26 + 2544 @@ -1168,17 +1234,12 @@ 1 2 - 67229 + 33078 2 - 3 - 19208 - - - 3 - 4 - 3841 + 12 + 2073 @@ -1188,19 +1249,19 @@ compilation_compiling_files - 59495 + 62421 id - 2275 + 731 num - 17556 + 9199 file - 49742 + 62421 @@ -1214,22 +1275,67 @@ 1 2 - 325 + 59 2 - 3 - 650 + 6 + 59 - 35 - 36 - 650 + 6 + 10 + 59 - 54 - 55 - 650 + 10 + 14 + 59 + + + 14 + 20 + 59 + + + 20 + 27 + 67 + + + 27 + 35 + 59 + + + 36 + 47 + 59 + + + 51 + 70 + 59 + + + 72 + 123 + 59 + + + 124 + 176 + 59 + + + 208 + 1130 + 59 + + + 1233 + 1234 + 7 @@ -1245,22 +1351,67 @@ 1 2 - 325 + 59 2 - 3 - 650 + 6 + 59 - 35 - 36 - 650 + 6 + 10 + 59 - 54 - 55 - 650 + 10 + 14 + 59 + + + 14 + 20 + 59 + + + 20 + 27 + 67 + + + 27 + 35 + 59 + + + 36 + 47 + 59 + + + 51 + 70 + 59 + + + 72 + 123 + 59 + + + 124 + 176 + 59 + + + 208 + 1130 + 59 + + + 1233 + 1234 + 7 @@ -1274,19 +1425,44 @@ 12 - 2 - 3 - 6177 + 1 + 2 + 775 - 4 + 2 + 3 + 4342 + + + 3 5 - 10728 + 790 + + + 5 + 6 + 880 6 8 - 650 + 686 + + + 8 + 16 + 768 + + + 16 + 42 + 701 + + + 42 + 99 + 253 @@ -1299,20 +1475,45 @@ 12 + + 1 + 2 + 775 + 2 3 - 6177 + 4342 3 - 4 - 9753 + 5 + 790 - 4 + 5 + 6 + 880 + + + 6 8 - 1625 + 686 + + + 8 + 16 + 768 + + + 16 + 42 + 701 + + + 42 + 99 + 253 @@ -1328,12 +1529,7 @@ 1 2 - 39989 - - - 2 - 3 - 9753 + 62421 @@ -1349,7 +1545,7 @@ 1 2 - 49742 + 62421 @@ -1359,19 +1555,19 @@ compilation_compiling_files_completed - 59495 + 62421 id - 2275 + 731 num - 17556 + 9199 result - 325 + 7 @@ -1385,22 +1581,67 @@ 1 2 - 325 + 59 2 - 3 - 650 + 6 + 59 - 35 - 36 - 650 + 6 + 10 + 59 - 54 - 55 - 650 + 10 + 14 + 59 + + + 14 + 20 + 59 + + + 20 + 27 + 67 + + + 27 + 35 + 59 + + + 36 + 47 + 59 + + + 51 + 70 + 59 + + + 72 + 123 + 59 + + + 124 + 176 + 59 + + + 208 + 1130 + 59 + + + 1233 + 1234 + 7 @@ -1416,7 +1657,7 @@ 1 2 - 2275 + 731 @@ -1430,19 +1671,44 @@ 12 - 2 - 3 - 6177 + 1 + 2 + 775 - 4 + 2 + 3 + 4342 + + + 3 5 - 10728 + 790 + + + 5 + 6 + 880 6 8 - 650 + 686 + + + 8 + 16 + 768 + + + 16 + 42 + 701 + + + 42 + 99 + 253 @@ -1458,7 +1724,7 @@ 1 2 - 17556 + 9199 @@ -1472,9 +1738,9 @@ 12 - 7 - 8 - 325 + 98 + 99 + 7 @@ -1488,9 +1754,9 @@ 12 - 54 - 55 - 325 + 1233 + 1234 + 7 @@ -1500,23 +1766,23 @@ compilation_time - 196471 + 252612 id - 8628 + 731 num - 5144 + 9207 kind - 663 + 29 seconds - 89772 + 123672 @@ -1527,55 +1793,70 @@ 12 - - 1 - 2 - 331 - 2 3 - 1659 + 59 3 - 4 - 1161 - - - 4 - 5 - 2157 - - - 5 - 6 - 663 - - - 6 7 - 497 + 59 7 - 8 - 497 + 11 + 59 - 8 - 12 - 663 + 11 + 15 + 59 - 13 - 16 - 663 + 15 + 21 + 59 - 20 - 32 - 331 + 21 + 28 + 67 + + + 28 + 36 + 59 + + + 37 + 48 + 59 + + + 52 + 71 + 59 + + + 73 + 124 + 59 + + + 125 + 177 + 59 + + + 209 + 1131 + 59 + + + 1234 + 1235 + 7 @@ -1591,7 +1872,7 @@ 4 5 - 8628 + 731 @@ -1604,55 +1885,70 @@ 12 - - 2 - 3 - 331 - 4 5 - 1659 + 59 6 - 7 - 1161 - - - 8 - 9 - 2157 - - - 10 - 11 - 663 - - - 12 13 - 497 + 59 14 - 15 - 497 + 21 + 59 - 16 - 23 - 663 + 22 + 29 + 59 - 26 - 31 - 663 + 30 + 41 + 59 - 40 - 63 - 331 + 42 + 55 + 67 + + + 56 + 71 + 59 + + + 74 + 95 + 59 + + + 104 + 141 + 59 + + + 146 + 247 + 59 + + + 250 + 353 + 59 + + + 418 + 2247 + 59 + + + 2436 + 2437 + 7 @@ -1668,52 +1964,42 @@ 1 2 - 1825 + 775 2 3 - 829 + 4342 3 5 - 331 + 790 + + + 5 + 6 + 880 6 - 7 - 331 - - - 7 8 - 331 + 686 8 - 11 - 331 + 16 + 768 - 13 - 17 - 331 + 16 + 42 + 701 - 20 - 34 - 331 - - - 40 - 51 - 331 - - - 52 - 53 - 165 + 42 + 99 + 261 @@ -1729,7 +2015,7 @@ 4 5 - 5144 + 9207 @@ -1745,52 +2031,42 @@ 3 4 - 1825 + 775 5 6 - 829 + 4342 7 10 - 331 + 790 + + + 11 + 12 + 880 13 - 14 - 331 - - - 15 16 - 331 + 686 17 - 22 - 331 + 32 + 768 - 27 - 34 - 331 + 33 + 84 + 701 - 41 - 54 - 331 - - - 67 - 82 - 331 - - - 101 - 102 - 165 + 85 + 198 + 261 @@ -1804,9 +2080,9 @@ 12 - 52 - 53 - 663 + 98 + 99 + 29 @@ -1820,9 +2096,9 @@ 12 - 31 - 32 - 663 + 1234 + 1235 + 29 @@ -1838,17 +2114,17 @@ 1 2 - 331 + 14 - 245 - 246 - 165 + 8222 + 8223 + 7 - 296 - 297 - 165 + 8364 + 8365 + 7 @@ -1864,12 +2140,12 @@ 1 2 - 89606 + 122389 - 52 - 53 - 165 + 2 + 99 + 1283 @@ -1885,12 +2161,12 @@ 1 2 - 89606 + 121889 - 31 - 32 - 165 + 2 + 1235 + 1783 @@ -1906,12 +2182,12 @@ 1 2 - 89606 + 123582 - 3 + 2 4 - 165 + 89 @@ -1921,23 +2197,23 @@ diagnostic_for - 61632 + 64190 diagnostic - 61632 + 64190 compilation - 574 + 716 file_number - 14797 + 7 file_number_diagnostic_number - 2154 + 14475 @@ -1951,7 +2227,7 @@ 1 2 - 61632 + 64190 @@ -1967,7 +2243,7 @@ 1 2 - 61632 + 64190 @@ -1983,7 +2259,7 @@ 1 2 - 61632 + 64190 @@ -1992,94 +2268,6 @@ compilation diagnostic - - - 12 - - - 14 - 15 - 143 - - - 28 - 29 - 143 - - - 123 - 124 - 143 - - - 264 - 265 - 143 - - - - - - - compilation - file_number - - - 12 - - - 7 - 8 - 143 - - - 14 - 15 - 143 - - - 45 - 46 - 143 - - - 103 - 104 - 143 - - - - - - - compilation - file_number_diagnostic_number - - - 12 - - - 2 - 3 - 287 - - - 14 - 15 - 143 - - - 15 - 16 - 143 - - - - - - - file_number - diagnostic 12 @@ -2087,42 +2275,135 @@ 1 2 - 143 - - - 2 - 3 - 6464 + 268 3 - 4 - 718 - - - 4 5 - 3160 + 59 5 - 6 - 1292 - - - 6 8 - 1149 + 52 8 - 11 - 1292 + 14 + 44 - 12 - 21 - 574 + 14 + 22 + 59 + + + 22 + 39 + 59 + + + 42 + 55 + 59 + + + 60 + 169 + 59 + + + 228 + 1941 + 52 + + + + + + + compilation + file_number + + + 12 + + + 1 + 2 + 716 + + + + + + + compilation + file_number_diagnostic_number + + + 12 + + + 1 + 2 + 268 + + + 3 + 5 + 59 + + + 5 + 8 + 52 + + + 8 + 14 + 44 + + + 14 + 22 + 59 + + + 22 + 39 + 59 + + + 42 + 55 + 59 + + + 60 + 169 + 59 + + + 228 + 1941 + 52 + + + + + + + file_number + diagnostic + + + 12 + + + 8603 + 8604 + 7 @@ -2136,24 +2417,9 @@ 12 - 1 - 2 - 8332 - - - 2 - 3 - 4453 - - - 3 - 4 - 1005 - - - 4 - 5 - 1005 + 96 + 97 + 7 @@ -2167,34 +2433,9 @@ 12 - 1 - 2 - 143 - - - 2 - 3 - 10056 - - - 3 - 4 - 2011 - - - 4 - 5 - 1005 - - - 5 - 8 - 1149 - - - 10 - 16 - 430 + 1940 + 1941 + 7 @@ -2210,52 +2451,42 @@ 1 2 - 143 + 3290 2 3 - 574 + 238 3 4 - 430 + 5081 + + + 4 + 5 + 2439 5 6 - 143 + 261 + + + 6 + 7 + 1462 7 - 8 - 143 + 14 + 1208 - 11 - 12 - 143 - - - 18 - 19 - 143 - - - 33 - 34 - 143 - - - 168 - 169 - 143 - - - 169 - 170 - 143 + 14 + 97 + 492 @@ -2271,17 +2502,42 @@ 1 2 - 143 + 3290 2 3 - 1723 + 238 + + + 3 + 4 + 5081 4 5 - 287 + 2439 + + + 5 + 6 + 261 + + + 6 + 7 + 1462 + + + 7 + 14 + 1208 + + + 14 + 97 + 492 @@ -2297,52 +2553,7 @@ 1 2 - 143 - - - 2 - 3 - 574 - - - 3 - 4 - 430 - - - 5 - 6 - 143 - - - 7 - 8 - 143 - - - 11 - 12 - 143 - - - 18 - 19 - 143 - - - 32 - 33 - 143 - - - 102 - 103 - 143 - - - 103 - 104 - 143 + 14475 @@ -2352,19 +2563,19 @@ compilation_compiler_times - 7683 + 2261 id - 7683 + 2261 cpu_seconds - 1920 + 94 elapsed_seconds - 7683 + 2167 @@ -2378,7 +2589,7 @@ 1 2 - 7683 + 2261 @@ -2394,7 +2605,7 @@ 1 2 - 7683 + 2261 @@ -2408,9 +2619,9 @@ 12 - 4 - 5 - 1920 + 24 + 25 + 94 @@ -2424,9 +2635,9 @@ 12 - 4 - 5 - 1920 + 23 + 24 + 94 @@ -2442,7 +2653,12 @@ 1 2 - 7683 + 2073 + + + 2 + 3 + 94 @@ -2458,7 +2674,7 @@ 1 2 - 7683 + 2167 @@ -2684,35 +2900,35 @@ diagnostics - 61632 + 64190 id - 61632 + 64190 generated_by - 143 + 7 severity - 143 + 29 error_tag - 143 + 7 error_message - 1580 + 2604 full_error_message - 40944 + 7 location - 143 + 7 @@ -2726,7 +2942,7 @@ 1 2 - 61632 + 64190 @@ -2742,7 +2958,7 @@ 1 2 - 61632 + 64190 @@ -2758,7 +2974,7 @@ 1 2 - 61632 + 64190 @@ -2774,7 +2990,7 @@ 1 2 - 61632 + 64190 @@ -2790,7 +3006,7 @@ 1 2 - 61632 + 64190 @@ -2806,7 +3022,7 @@ 1 2 - 61632 + 64190 @@ -2820,9 +3036,9 @@ 12 - 429 - 430 - 143 + 8603 + 8604 + 7 @@ -2836,9 +3052,9 @@ 12 - 1 - 2 - 143 + 4 + 5 + 7 @@ -2854,7 +3070,7 @@ 1 2 - 143 + 7 @@ -2868,9 +3084,9 @@ 12 - 11 - 12 - 143 + 349 + 350 + 7 @@ -2884,9 +3100,9 @@ 12 - 285 - 286 - 143 + 1 + 2 + 7 @@ -2902,7 +3118,7 @@ 1 2 - 143 + 7 @@ -2916,9 +3132,24 @@ 12 - 429 - 430 - 143 + 4 + 5 + 7 + + + 13 + 14 + 7 + + + 95 + 96 + 7 + + + 8491 + 8492 + 7 @@ -2934,7 +3165,7 @@ 1 2 - 143 + 29 @@ -2950,7 +3181,7 @@ 1 2 - 143 + 29 @@ -2964,9 +3195,24 @@ 12 - 11 - 12 - 143 + 4 + 5 + 7 + + + 13 + 14 + 7 + + + 95 + 96 + 7 + + + 237 + 238 + 7 @@ -2980,9 +3226,9 @@ 12 - 285 - 286 - 143 + 1 + 2 + 29 @@ -2998,7 +3244,7 @@ 1 2 - 143 + 29 @@ -3012,9 +3258,9 @@ 12 - 429 - 430 - 143 + 8603 + 8604 + 7 @@ -3030,7 +3276,7 @@ 1 2 - 143 + 7 @@ -3044,9 +3290,9 @@ 12 - 1 - 2 - 143 + 4 + 5 + 7 @@ -3060,9 +3306,9 @@ 12 - 11 - 12 - 143 + 349 + 350 + 7 @@ -3076,9 +3322,9 @@ 12 - 285 - 286 - 143 + 1 + 2 + 7 @@ -3094,7 +3340,7 @@ 1 2 - 143 + 7 @@ -3110,47 +3356,17 @@ 1 2 - 143 + 2290 2 - 3 - 143 - - - 3 - 4 - 143 - - - 6 - 7 - 143 + 9 + 201 9 - 10 - 143 - - - 12 - 13 - 287 - - - 24 - 25 - 143 - - - 28 - 29 - 143 - - - 166 - 167 - 287 + 3692 + 111 @@ -3166,7 +3382,7 @@ 1 2 - 1580 + 2604 @@ -3182,7 +3398,7 @@ 1 2 - 1580 + 2604 @@ -3198,7 +3414,7 @@ 1 2 - 1580 + 2604 @@ -3214,52 +3430,7 @@ 1 2 - 143 - - - 2 - 3 - 143 - - - 3 - 4 - 143 - - - 6 - 7 - 143 - - - 9 - 10 - 143 - - - 12 - 13 - 287 - - - 22 - 23 - 143 - - - 24 - 25 - 143 - - - 28 - 29 - 143 - - - 166 - 167 - 143 + 2604 @@ -3275,7 +3446,7 @@ 1 2 - 1580 + 2604 @@ -3289,14 +3460,9 @@ 12 - 1 - 2 - 38358 - - - 2 - 25 - 2585 + 8603 + 8604 + 7 @@ -3312,7 +3478,7 @@ 1 2 - 40944 + 7 @@ -3326,9 +3492,9 @@ 12 - 1 - 2 - 40944 + 4 + 5 + 7 @@ -3344,7 +3510,7 @@ 1 2 - 40944 + 7 @@ -3358,9 +3524,9 @@ 12 - 1 - 2 - 40944 + 349 + 350 + 7 @@ -3376,7 +3542,7 @@ 1 2 - 40944 + 7 @@ -3390,9 +3556,9 @@ 12 - 429 - 430 - 143 + 8603 + 8604 + 7 @@ -3408,7 +3574,7 @@ 1 2 - 143 + 7 @@ -3422,9 +3588,9 @@ 12 - 1 - 2 - 143 + 4 + 5 + 7 @@ -3440,7 +3606,7 @@ 1 2 - 143 + 7 @@ -3454,9 +3620,9 @@ 12 - 11 - 12 - 143 + 349 + 350 + 7 @@ -3470,9 +3636,9 @@ 12 - 285 - 286 - 143 + 1 + 2 + 7 @@ -3637,11 +3803,11 @@ sourceLocationPrefix - 1920 + 569 prefix - 1920 + 569 @@ -4928,31 +5094,31 @@ locations_default - 602747369 + 82315299 id - 602747369 + 82315299 file - 9158642 + 1291911 beginLine - 3943517 + 538208 beginColumn - 247790 + 33818 endLine - 3945438 + 538471 endColumn - 873989 + 119281 @@ -4966,7 +5132,7 @@ 1 2 - 602747369 + 82315299 @@ -4982,7 +5148,7 @@ 1 2 - 602747369 + 82315299 @@ -4998,7 +5164,7 @@ 1 2 - 602747369 + 82315299 @@ -5014,7 +5180,7 @@ 1 2 - 602747369 + 82315299 @@ -5030,7 +5196,7 @@ 1 2 - 602747369 + 82315299 @@ -5046,17 +5212,17 @@ 1 2 - 7986919 + 1131995 2 11 - 714558 + 97522 11 3605 - 457163 + 62393 @@ -5072,17 +5238,17 @@ 1 2 - 7986919 + 1131995 2 9 - 712637 + 97260 9 1830 - 459084 + 62655 @@ -5098,17 +5264,17 @@ 1 2 - 7986919 + 1131995 2 5 - 776025 + 105911 5 105 - 395696 + 54004 @@ -5124,17 +5290,17 @@ 1 2 - 7986919 + 1131995 2 - 10 - 693429 + 11 + 99619 - 10 + 11 1834 - 478293 + 60296 @@ -5150,17 +5316,17 @@ 1 2 - 7986919 + 1131995 2 - 9 - 695349 + 10 + 99619 - 9 + 10 205 - 476372 + 60296 @@ -5176,67 +5342,67 @@ 1 14 - 313099 + 42731 14 125 - 301574 + 41158 125 142 - 307336 + 41945 142 152 - 316941 + 43255 152 159 - 359200 + 49023 159 164 - 272761 + 37226 164 169 - 343833 + 46926 169 173 - 299653 + 40896 173 178 - 332308 + 45353 178 184 - 347674 + 47450 184 193 - 316941 + 43255 193 211 - 297732 + 40372 211 - 4769 - 134459 + 4929 + 18613 @@ -5252,72 +5418,72 @@ 1 7 - 322703 + 44042 7 65 - 299653 + 40896 65 73 - 307336 + 41945 73 78 - 295811 + 40372 78 81 - 265078 + 36177 81 84 - 357279 + 48761 84 86 - 299653 + 40896 86 87 - 188243 + 25691 87 89 - 357279 + 48761 89 91 - 259315 + 35129 91 94 - 324624 + 44566 94 99 - 328466 + 44828 99 - 141 - 295811 + 142 + 40634 - 141 - 4769 - 42258 + 142 + 4929 + 5505 @@ -5333,62 +5499,62 @@ 1 5 - 313099 + 42731 5 17 - 280444 + 38274 17 19 - 251632 + 34342 19 20 - 309257 + 42207 20 21 - 403379 + 55053 21 22 - 420667 + 57412 22 23 - 476372 + 65015 23 24 - 457163 + 62393 24 25 - 339991 + 46401 25 26 - 213215 + 29099 26 29 - 361120 + 49285 29 40 - 117172 + 15991 @@ -5404,32 +5570,32 @@ 1 2 - 1273527 + 173810 2 3 - 1265844 + 172761 3 4 - 674220 + 92017 4 5 - 299653 + 40896 5 11 - 307336 + 41945 11 97 - 122934 + 16778 @@ -5445,72 +5611,72 @@ 1 13 - 309257 + 42207 13 60 - 307336 + 41945 60 64 - 311178 + 42469 64 66 - 311178 + 42207 66 68 - 353437 + 48499 68 69 - 194006 + 26477 69 70 - 217056 + 29361 70 72 - 359200 + 49023 72 74 - 322703 + 44042 74 76 - 245869 + 33818 76 79 - 330387 + 45091 79 83 - 295811 + 40372 83 91 - 316941 + 43255 91 103 - 69150 + 9437 @@ -5526,67 +5692,67 @@ 1 11 - 21129 + 2883 15 24 - 21129 + 2883 28 - 57 - 19208 + 58 + 2883 - 57 - 79 - 19208 + 58 + 88 + 2621 - 87 - 119 - 19208 + 89 + 131 + 2621 - 130 - 177 - 19208 + 131 + 196 + 2883 - 195 - 269 - 19208 + 213 + 297 + 2621 - 270 - 436 - 19208 + 307 + 496 + 2621 - 443 - 835 - 19208 + 513 + 883 + 2621 - 844 - 1367 - 19208 + 933 + 1470 + 2621 - 1419 - 2155 - 19208 + 1665 + 2279 + 2621 - 2252 - 2517 - 19208 + 2295 + 2583 + 2621 - 2521 - 226452 - 13445 + 2694 + 226487 + 1310 @@ -5602,72 +5768,72 @@ 1 9 - 17287 + 2359 9 11 - 21129 + 2883 11 15 - 15366 + 2097 15 19 - 21129 + 2883 23 68 - 19208 + 2621 69 78 - 19208 + 2621 79 100 - 13445 + 1835 100 104 - 21129 + 2883 104 109 - 19208 + 2621 109 112 - 13445 + 1835 112 115 - 19208 + 2621 115 117 - 19208 + 2621 117 123 - 19208 + 2621 145 - 4769 - 9604 + 4929 + 1310 @@ -5683,67 +5849,67 @@ 1 10 - 21129 + 2883 10 22 - 21129 + 2883 23 39 - 19208 + 2621 41 58 - 19208 + 2621 58 84 - 19208 + 2621 84 106 - 19208 + 2621 108 166 - 19208 + 2621 167 225 - 19208 + 2621 230 376 - 19208 + 2621 381 647 - 19208 + 2621 657 941 - 19208 + 2621 941 1090 - 19208 + 2621 1102 2051 - 13445 + 1835 @@ -5759,67 +5925,67 @@ 1 10 - 21129 + 2883 10 22 - 21129 + 2883 23 39 - 19208 + 2621 41 59 - 19208 + 2621 59 86 - 19208 + 2621 86 109 - 19208 + 2621 114 168 - 19208 + 2621 170 224 - 19208 + 2621 229 379 - 19208 + 2621 382 647 - 19208 + 2621 658 941 - 19208 + 2621 941 1089 - 19208 + 2621 1102 2051 - 13445 + 1835 @@ -5835,67 +6001,67 @@ 1 8 - 21129 + 2883 8 16 - 21129 + 2883 16 23 - 21129 + 2621 - 24 - 31 - 21129 + 23 + 30 + 2621 - 32 - 37 - 21129 + 30 + 36 + 2621 - 37 - 50 - 19208 + 36 + 44 + 2621 - 50 - 60 - 19208 + 46 + 55 + 2621 - 60 - 68 - 19208 + 55 + 65 + 2883 - 68 - 80 - 19208 + 65 + 76 + 2621 - 81 - 101 - 19208 + 77 + 94 + 2621 - 101 - 121 - 19208 + 94 + 117 + 2621 - 126 - 158 - 19208 + 119 + 152 + 2621 - 159 + 153 393 - 7683 + 1572 @@ -5911,67 +6077,67 @@ 1 14 - 309257 + 42207 14 124 - 305416 + 41683 124 143 - 309257 + 42207 143 152 - 334228 + 45615 152 159 - 322703 + 44042 159 164 - 299653 + 40896 164 169 - 341912 + 46664 169 173 - 309257 + 41945 173 178 - 338070 + 46401 178 184 - 305416 + 41683 184 193 - 315020 + 42993 193 212 - 301574 + 41158 212 - 4769 - 153668 + 4929 + 20972 @@ -5987,67 +6153,67 @@ 1 7 - 324624 + 44304 7 66 - 318862 + 43518 66 74 - 320782 + 43780 74 80 - 355358 + 48499 80 83 - 339991 + 46401 83 85 - 268919 + 36702 85 87 - 343833 + 46926 87 89 - 355358 + 48499 89 91 - 266999 + 36439 91 94 - 345754 + 47188 94 99 - 324624 + 44304 99 130 - 301574 + 40896 - 131 - 4769 - 78755 + 130 + 4929 + 11010 @@ -6063,32 +6229,32 @@ 1 2 - 1000766 + 136583 2 3 - 1392620 + 190064 3 4 - 908564 + 124000 4 6 - 336149 + 45877 6 19 - 299653 + 40896 19 22 - 7683 + 1048 @@ -6104,62 +6270,62 @@ 1 5 - 309257 + 42207 5 17 - 284286 + 38799 17 19 - 232423 + 31721 19 20 - 280444 + 38274 20 21 - 420667 + 57412 21 22 - 407221 + 55577 22 23 - 482134 + 65801 23 24 - 437955 + 59771 24 25 - 334228 + 45353 25 26 - 259315 + 35653 26 29 - 363041 + 49547 29 39 - 134459 + 18351 @@ -6175,72 +6341,72 @@ 1 13 - 313099 + 42731 13 60 - 305416 + 41683 60 64 - 305416 + 41683 64 66 - 303495 + 41158 66 68 - 357279 + 49023 68 69 - 197848 + 27002 69 70 - 201689 + 27526 70 71 - 218977 + 29623 71 73 - 326545 + 44828 73 75 - 263157 + 35653 75 77 - 257394 + 35129 77 80 - 299653 + 40896 80 85 - 318862 + 43780 85 119 - 276603 + 37750 @@ -6256,57 +6422,57 @@ 1 2 - 205531 + 28050 2 3 - 90280 + 12321 3 5 - 71071 + 9699 5 13 - 71071 + 9699 13 53 - 67229 + 9175 53 - 138 - 67229 + 144 + 9175 - 142 - 346 - 67229 + 145 + 348 + 9175 357 967 - 67229 + 9175 1050 2386 - 67229 + 9175 2392 - 4902 - 67229 + 4931 + 9175 4949 5933 - 32654 + 4456 @@ -6322,57 +6488,57 @@ 1 2 - 213215 + 29099 2 3 - 86438 + 11797 3 5 - 74913 + 10224 5 13 - 71071 + 9699 13 42 - 67229 + 9175 42 77 - 67229 + 9175 77 102 - 69150 + 9175 102 - 114 - 67229 + 113 + 9175 114 139 - 67229 + 9175 139 - 169 - 69150 + 168 + 9175 - 173 - 4769 - 21129 + 168 + 4929 + 3408 @@ -6388,57 +6554,57 @@ 1 2 - 217056 + 29623 2 3 - 88359 + 12059 3 5 - 69150 + 9437 5 13 - 69150 + 9437 13 - 50 - 67229 + 51 + 9175 - 50 + 51 113 - 67229 + 9175 114 266 - 67229 + 9175 269 636 - 67229 + 9175 648 1197 - 67229 + 9175 1198 1635 - 69150 + 9437 1639 1722 - 24971 + 3408 @@ -6454,47 +6620,47 @@ 1 2 - 274682 + 37488 2 3 - 105647 + 14156 3 6 - 76834 + 10748 6 14 - 76834 + 10486 14 25 - 74913 + 10224 25 36 - 71071 + 9699 36 47 - 67229 + 9175 47 54 - 67229 + 9175 54 65 - 59546 + 8126 @@ -6510,57 +6676,57 @@ 1 2 - 217056 + 29623 2 3 - 86438 + 11797 3 5 - 69150 + 9437 5 13 - 69150 + 9437 13 - 51 - 67229 + 52 + 9175 - 51 + 52 112 - 67229 + 9175 112 262 - 67229 + 9175 262 630 - 67229 + 9175 637 1186 - 67229 + 9175 1197 1625 - 67229 + 9175 1632 1722 - 28812 + 3932 @@ -6570,15 +6736,15 @@ hasLocation - 340930835 + 53281114 locatableid - 340658074 + 53281114 id - 12195515 + 1717130 @@ -6592,12 +6758,7 @@ 1 2 - 340385312 - - - 2 - 3 - 272761 + 53281114 @@ -6613,57 +6774,62 @@ 1 2 - 2091812 + 294140 2 3 - 1333074 + 182199 3 - 4 - 772184 + 5 + 155983 - 4 - 6 - 1085283 + 5 + 7 + 126884 - 6 - 8 - 1062233 + 7 + 10 + 148905 - 8 - 11 - 1100650 + 10 + 13 + 142089 - 11 - 15 - 1048787 + 13 + 17 + 132651 - 15 - 21 - 964269 + 17 + 23 + 130030 - 21 - 32 - 916248 + 23 + 35 + 133175 - 32 + 35 64 - 920090 + 129505 64 - 9549 - 900881 + 396 + 128981 + + + 405 + 9847 + 12583 @@ -6673,23 +6839,23 @@ numlines - 303305105 + 41395164 element_id - 303305105 + 41395164 num_lines - 618515 + 84414 num_code - 612753 + 83628 num_comment - 1893964 + 258487 @@ -6703,7 +6869,7 @@ 1 2 - 303305105 + 41395164 @@ -6719,7 +6885,7 @@ 1 2 - 303305105 + 41395164 @@ -6735,7 +6901,7 @@ 1 2 - 303305105 + 41395164 @@ -6751,37 +6917,37 @@ 1 2 - 320782 + 43780 2 3 - 78755 + 10748 3 4 - 61467 + 8389 4 7 - 49942 + 6816 7 14 - 48021 + 6553 15 194 - 48021 + 6553 320 149659 - 11525 + 1572 @@ -6797,17 +6963,17 @@ 1 2 - 509026 + 69471 2 3 - 69150 + 9437 3 6 - 40337 + 5505 @@ -6823,27 +6989,27 @@ 1 2 - 380329 + 51907 2 3 - 97963 + 13370 3 4 - 51863 + 7078 4 6 - 53783 + 7340 6 987 - 34575 + 4718 @@ -6859,37 +7025,37 @@ 1 2 - 316941 + 43255 2 3 - 78755 + 10748 3 4 - 61467 + 8389 4 7 - 51863 + 7078 7 15 - 46100 + 6291 16 214 - 46100 + 6291 325 78746 - 11525 + 1572 @@ -6905,17 +7071,17 @@ 1 2 - 516710 + 70520 2 3 - 51863 + 7078 3 8 - 44179 + 6029 @@ -6931,27 +7097,27 @@ 1 2 - 370725 + 50596 2 3 - 101805 + 13894 3 4 - 53783 + 7340 4 6 - 46100 + 6291 6 987 - 40337 + 5505 @@ -6967,77 +7133,77 @@ 1 7 - 153668 + 20972 7 49 - 142143 + 19399 49 71 - 147905 + 20186 71 78 - 151747 + 20710 78 83 - 145985 + 19923 83 87 - 163272 + 22283 87 89 - 140222 + 19137 89 91 - 134459 + 18351 91 92 - 80675 + 11010 92 93 - 96042 + 13107 93 94 - 105647 + 14418 94 95 - 97963 + 13370 95 97 - 151747 + 20710 97 119 - 144064 + 19661 120 75134 - 38417 + 5243 @@ -7053,22 +7219,22 @@ 1 2 - 1550130 + 211560 2 3 - 165193 + 22545 3 7 - 145985 + 19923 7 120 - 32654 + 4456 @@ -7084,22 +7250,22 @@ 1 2 - 1550130 + 211560 2 3 - 165193 + 22545 3 7 - 145985 + 19923 7 122 - 32654 + 4456 @@ -7109,15 +7275,15 @@ files - 9158642 + 1291911 id - 9158642 + 1291911 name - 9158642 + 1291911 @@ -7131,7 +7297,7 @@ 1 2 - 9158642 + 1291911 @@ -7147,7 +7313,7 @@ 1 2 - 9158642 + 1291911 @@ -7157,15 +7323,15 @@ folders - 1415670 + 293711 id - 1415670 + 293711 name - 1415670 + 293711 @@ -7179,7 +7345,7 @@ 1 2 - 1415670 + 293711 @@ -7195,7 +7361,7 @@ 1 2 - 1415670 + 293711 @@ -7205,15 +7371,15 @@ containerparent - 10570471 + 1496393 parent - 1463692 + 212871 child - 10570471 + 1496393 @@ -7227,32 +7393,32 @@ 1 2 - 843255 + 125311 2 3 - 149826 + 18613 3 5 - 128697 + 18613 5 - 11 - 124855 + 10 + 18088 - 11 - 21 - 113330 + 10 + 20 + 15991 - 21 + 20 194 - 103726 + 16253 @@ -7268,7 +7434,7 @@ 1 2 - 10570471 + 1496393 @@ -7278,15 +7444,15 @@ cupackage - 7979236 + 1129635 id - 7979236 + 1129635 packageid - 576256 + 85463 @@ -7300,7 +7466,7 @@ 1 2 - 7979236 + 1129635 @@ -7316,52 +7482,57 @@ 1 2 - 121013 + 18351 2 3 - 80675 + 11797 3 4 - 42258 + 6029 4 - 6 - 49942 + 5 + 5505 - 6 + 5 + 7 + 4980 + + + 7 9 - 49942 + 6291 9 - 12 - 51863 + 11 + 6553 - 12 + 11 17 - 48021 + 7864 17 - 23 - 46100 + 26 + 6816 - 24 - 43 - 44179 + 26 + 53 + 6553 - 43 + 54 187 - 42258 + 4718 @@ -7692,23 +7863,23 @@ jarManifestEntries - 30201 + 46193 fileid - 61 + 29 entryName - 30129 + 46141 keyName - 27 + 59 value - 30163 + 46171 @@ -7722,72 +7893,22 @@ 1 2 - 4 + 7 - 4 - 10 - 3 + 264 + 265 + 7 - 10 - 12 - 4 + 1520 + 1521 + 7 - 12 - 31 - 4 - - - 65 - 82 - 4 - - - 123 - 164 - 4 - - - 178 - 240 - 4 - - - 253 - 294 - 4 - - - 307 - 357 - 4 - - - 361 - 395 - 4 - - - 433 - 461 - 4 - - - 591 - 662 - 4 - - - 957 - 2267 - 4 - - - 3647 - 3762 - 3 + 4400 + 4401 + 7 @@ -7796,238 +7917,6 @@ fileid keyName - - - 12 - - - 1 - 2 - 57 - - - 6 - 10 - 3 - - - - - - - fileid - value - - - 12 - - - 1 - 2 - 4 - - - 3 - 8 - 4 - - - 9 - 13 - 4 - - - 24 - 66 - 4 - - - 70 - 124 - 4 - - - 127 - 179 - 4 - - - 195 - 254 - 4 - - - 265 - 308 - 4 - - - 320 - 362 - 4 - - - 381 - 434 - 4 - - - 434 - 592 - 4 - - - 618 - 958 - 4 - - - 1671 - 3648 - 4 - - - 3761 - 3762 - 1 - - - - - - - entryName - fileid - - - 12 - - - 1 - 2 - 30113 - - - 2 - 26 - 16 - - - - - - - entryName - keyName - - - 12 - - - 1 - 2 - 30126 - - - 6 - 10 - 3 - - - - - - - entryName - value - - - 12 - - - 1 - 2 - 30125 - - - 3 - 26 - 4 - - - - - - - keyName - fileid - - - 12 - - - 1 - 2 - 21 - - - 2 - 3 - 3 - - - 3 - 4 - 1 - - - 32 - 33 - 1 - - - - - - - keyName - entryName - - - 12 - - - 1 - 2 - 21 - - - 2 - 3 - 1 - - - 11 - 12 - 1 - - - 369 - 370 - 1 - - - 19366 - 19367 - 1 - - - - - - - keyName - value 12 @@ -8037,20 +7926,167 @@ 2 22 + + 7 + 8 + 7 + + + + + + + fileid + value + + + 12 + + + 4 + 5 + 7 + + + 264 + 265 + 7 + + + 1520 + 1521 + 7 + + + 4400 + 4401 + 7 + + + + + + + entryName + fileid + + + 12 + + + 1 + 2 + 46133 + 2 3 - 1 + 7 + + + + + + + entryName + keyName + + + 12 + + + 1 + 2 + 46133 - 369 - 370 - 1 + 7 + 8 + 7 + + + + + + + entryName + value + + + 12 + + + 1 + 2 + 46126 - 19390 - 19391 - 1 + 2 + 5 + 14 + + + + + + + keyName + fileid + + + 12 + + + 1 + 2 + 52 + + + 3 + 4 + 7 + + + + + + + keyName + entryName + + + 12 + + + 1 + 2 + 52 + + + 6183 + 6184 + 7 + + + + + + + keyName + value + + + 12 + + + 1 + 2 + 52 + + + 6184 + 6185 + 7 @@ -8066,12 +8102,7 @@ 1 2 - 30162 - - - 2 - 3 - 1 + 46171 @@ -8087,12 +8118,7 @@ 1 2 - 30162 - - - 11 - 12 - 1 + 46171 @@ -8108,12 +8134,12 @@ 1 2 - 30155 + 46148 2 3 - 7 + 22 @@ -8123,15 +8149,15 @@ packages - 580098 + 121135 id - 580098 + 121135 nodeName - 580098 + 121135 @@ -8145,7 +8171,7 @@ 1 2 - 580098 + 121135 @@ -8161,7 +8187,7 @@ 1 2 - 580098 + 121135 @@ -8171,15 +8197,15 @@ primitives - 17287 + 5690 id - 17287 + 5690 nodeName - 17287 + 5690 @@ -8193,7 +8219,7 @@ 1 2 - 17287 + 5690 @@ -8209,7 +8235,7 @@ 1 2 - 17287 + 5690 @@ -8219,15 +8245,15 @@ modifiers - 26891 + 6259 id - 26891 + 6259 nodeName - 26891 + 6259 @@ -8241,7 +8267,7 @@ 1 2 - 26891 + 6259 @@ -8257,7 +8283,7 @@ 1 2 - 26891 + 6259 @@ -8267,34 +8293,34 @@ error_type - 1 + 22 id - 1 + 22 - classes - 12618104 + classes_or_interfaces + 22273131 id - 12618104 + 22273131 nodeName - 6732600 + 5754222 parentid - 455242 + 734 sourceid - 5253541 + 26258 @@ -8308,7 +8334,7 @@ 1 2 - 12618104 + 22273131 @@ -8324,7 +8350,7 @@ 1 2 - 12618104 + 22273131 @@ -8340,7 +8366,7 @@ 1 2 - 12618104 + 22273131 @@ -8356,17 +8382,27 @@ 1 2 - 5601216 + 3703195 2 3 - 726083 + 866201 3 - 204 - 405300 + 5 + 424184 + + + 5 + 12 + 451316 + + + 12 + 9655 + 309324 @@ -8382,17 +8418,12 @@ 1 2 - 5950812 + 5753464 2 - 3 - 731846 - - - 3 - 52 - 49942 + 29 + 757 @@ -8408,17 +8439,12 @@ 1 2 - 5921999 + 5753210 2 - 3 - 714558 - - - 3 - 160 - 96042 + 3091 + 1011 @@ -8434,220 +8460,240 @@ 1 2 - 94121 + 132 2 3 - 46100 + 40 3 - 4 - 30733 - - - 4 5 - 26891 + 63 5 - 6 - 24971 + 7 + 46 - 6 + 7 8 - 40337 + 57 8 - 12 - 32654 - - - 12 - 18 - 38417 - - - 18 - 23 - 34575 - - - 23 - 40 - 36496 - - - 40 - 76 - 34575 - - - 83 - 891 - 15366 - - - - - - - parentid - nodeName - - - 12 - - - 1 - 2 - 96042 - - - 2 - 3 - 46100 - - - 3 - 4 - 34575 - - - 4 - 5 - 28812 - - - 5 - 6 - 36496 - - - 6 - 9 - 40337 - - - 9 - 13 - 40337 - - - 13 - 18 - 26891 - - - 18 - 25 - 38417 - - - 26 - 41 - 36496 - - - 41 - 479 - 30733 - - - - - - - parentid - sourceid - - - 12 - - - 1 - 2 - 99884 - - - 2 - 3 - 57625 - - - 3 - 4 - 36496 - - - 4 - 5 - 32654 - - - 5 - 6 - 32654 - - - 6 - 8 - 34575 - - - 8 - 12 - 38417 - - - 12 - 18 - 32654 - - - 18 - 25 - 34575 - - - 25 - 47 - 34575 - - - 51 - 138 - 21129 - - - - - - - sourceid - id - - - 12 - - - 1 - 2 - 4694572 - - - 2 11 - 407221 + 63 11 - 426 - 151747 + 23 + 57 + + + 23 + 41 + 63 + + + 42 + 158 + 57 + + + 162 + 1034 + 57 + + + 1315 + 34752 + 57 + + + 36100 + 2058753 + 34 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 132 + + + 2 + 3 + 40 + + + 3 + 4 + 28 + + + 4 + 5 + 40 + + + 5 + 6 + 34 + + + 6 + 7 + 40 + + + 7 + 9 + 52 + + + 9 + 15 + 57 + + + 15 + 24 + 63 + + + 24 + 56 + 57 + + + 57 + 178 + 57 + + + 186 + 3066 + 57 + + + 3515 + 65688 + 57 + + + 298524 + 495903 + 11 + + + + + + + parentid + sourceid + + + 12 + + + 1 + 2 + 150 + + + 2 + 3 + 80 + + + 3 + 4 + 34 + + + 4 + 5 + 63 + + + 5 + 7 + 40 + + + 7 + 9 + 63 + + + 9 + 11 + 63 + + + 12 + 15 + 46 + + + 16 + 23 + 57 + + + 25 + 41 + 57 + + + 47 + 113 + 57 + + + 113 + 2641 + 17 + + + + + + + sourceid + id + + + 12 + + + 1 + 2 + 23281 + + + 2 + 15 + 1994 + + + 15 + 448199 + 982 @@ -8663,17 +8709,17 @@ 1 2 - 4694572 + 23281 2 - 6 - 426430 + 10 + 2005 - 6 - 224 - 132539 + 10 + 100263 + 971 @@ -8689,7 +8735,7 @@ 1 2 - 5253541 + 26258 @@ -8699,26 +8745,26 @@ file_class - 17287 + 7249 id - 17287 + 7249 class_object - 163272 + 22283 id - 163272 + 22283 instance - 163272 + 22283 @@ -8732,7 +8778,7 @@ 1 2 - 163272 + 22283 @@ -8748,7 +8794,7 @@ 1 2 - 163272 + 22283 @@ -8758,19 +8804,19 @@ type_companion_object - 307336 + 41945 id - 307336 + 41945 instance - 307336 + 41945 companion_object - 307336 + 41945 @@ -8784,7 +8830,7 @@ 1 2 - 307336 + 41945 @@ -8800,7 +8846,7 @@ 1 2 - 307336 + 41945 @@ -8816,7 +8862,7 @@ 1 2 - 307336 + 41945 @@ -8832,7 +8878,7 @@ 1 2 - 307336 + 41945 @@ -8848,7 +8894,7 @@ 1 2 - 307336 + 41945 @@ -8864,7 +8910,7 @@ 1 2 - 307336 + 41945 @@ -8874,15 +8920,15 @@ kt_nullable_types - 1920 + 262 id - 1920 + 262 classid - 1920 + 262 @@ -8896,7 +8942,7 @@ 1 2 - 1920 + 262 @@ -8912,7 +8958,7 @@ 1 2 - 1920 + 262 @@ -8922,15 +8968,15 @@ kt_notnull_types - 172391 + 156265 id - 172391 + 156265 classid - 172391 + 156265 @@ -8944,7 +8990,7 @@ 1 2 - 172391 + 156265 @@ -8960,7 +9006,7 @@ 1 2 - 172391 + 156265 @@ -8970,19 +9016,19 @@ kt_type_alias - 1821 + 707 id - 1821 + 707 name - 1821 + 583 kttypeid - 910 + 12 @@ -8996,7 +9042,7 @@ 1 2 - 1821 + 707 @@ -9012,7 +9058,7 @@ 1 2 - 1821 + 707 @@ -9028,7 +9074,12 @@ 1 2 - 1821 + 459 + + + 2 + 3 + 124 @@ -9044,7 +9095,7 @@ 1 2 - 1821 + 583 @@ -9058,9 +9109,9 @@ 12 - 2 - 3 - 910 + 57 + 58 + 12 @@ -9074,9 +9125,9 @@ 12 - 2 - 3 - 910 + 47 + 48 + 12 @@ -9084,6 +9135,17 @@ + + isInterface + 21473562 + + + id + 21473562 + + + + isRecord 417 @@ -9096,43 +9158,19 @@ - interfaces - 23200100 + fielddecls + 210035 id - 23200100 - - - nodeName - 8705320 + 210035 parentid - 430271 - - - sourceid - 2787162 + 24609 - - id - nodeName - - - 12 - - - 1 - 2 - 23200100 - - - - - id parentid @@ -9143,106 +9181,7 @@ 1 2 - 23200100 - - - - - - - id - sourceid - - - 12 - - - 1 - 2 - 23200100 - - - - - - - nodeName - id - - - 12 - - - 1 - 2 - 6834406 - - - 2 - 3 - 1079521 - - - 3 - 25 - 655011 - - - 25 - 345 - 136380 - - - - - - - nodeName - parentid - - - 12 - - - 1 - 2 - 7996524 - - - 2 - 4 - 695349 - - - 4 - 7 - 13445 - - - - - - - nodeName - sourceid - - - 12 - - - 1 - 2 - 7967711 - - - 2 - 4 - 718400 - - - 4 - 7 - 19208 + 210035 @@ -9258,335 +9197,52 @@ 1 2 - 113330 + 6180 2 3 - 55704 + 2975 3 4 - 48021 + 2769 4 - 5 - 26891 + 6 + 1694 - 5 - 8 - 36496 - - - 8 - 13 - 34575 - - - 13 - 18 - 34575 - - - 18 - 41 - 32654 - - - 42 - 182 - 32654 - - - 187 - 4152 - 15366 - - - - - - - parentid - nodeName - - - 12 - - - 1 - 2 - 113330 - - - 2 - 3 - 55704 - - - 3 - 4 - 48021 - - - 4 - 5 - 38417 - - - 5 + 6 7 - 24971 + 2563 7 - 10 - 32654 + 9 + 938 - 10 + 9 + 12 + 1922 + + + 12 15 - 36496 + 1877 15 - 28 - 32654 + 24 + 1854 - 30 - 94 - 32654 - - - 100 - 1213 - 15366 - - - - - - - parentid - sourceid - - - 12 - - - 1 - 2 - 140222 - - - 2 - 3 - 65309 - - - 3 - 4 - 44179 - - - 4 - 5 - 34575 - - - 5 - 7 - 28812 - - - 7 - 9 - 34575 - - - 9 - 14 - 34575 - - - 14 - 26 - 32654 - - - 26 - 160 - 15366 - - - - - - - sourceid - id - - - 12 - - - 1 - 2 - 2391465 - - - 2 - 11 - 213215 - - - 11 - 1565 - 182481 - - - - - - - sourceid - nodeName - - - 12 - - - 1 - 2 - 2391465 - - - 2 - 6 - 217056 - - - 6 - 492 - 178639 - - - - - - - sourceid - parentid - - - 12 - - - 1 - 2 - 2787162 - - - - - - - - - fielddecls - 199475 - - - id - 199475 - - - parentid - 25503 - - - - - id - parentid - - - 12 - - - 1 - 2 - 199475 - - - - - - - parentid - id - - - 12 - - - 1 - 2 - 4554 - - - 2 - 3 - 5465 - - - 3 - 4 - 1821 - - - 4 - 6 - 1821 - - - 6 - 7 - 2732 - - - 7 - 9 - 1821 - - - 9 - 10 - 910 - - - 10 - 11 - 1821 - - - 13 - 18 - 1821 - - - 19 - 20 - 1821 - - - 57 - 58 - 910 + 24 + 145 + 1831 @@ -9596,19 +9252,19 @@ fieldDeclaredIn - 199475 + 210035 fieldId - 199475 + 135178 fieldDeclId - 199475 + 210035 pos - 910 + 22 @@ -9622,7 +9278,17 @@ 1 2 - 199475 + 94498 + + + 2 + 3 + 6501 + + + 3 + 4 + 34177 @@ -9638,7 +9304,7 @@ 1 2 - 199475 + 135178 @@ -9654,7 +9320,7 @@ 1 2 - 199475 + 210035 @@ -9670,7 +9336,7 @@ 1 2 - 199475 + 210035 @@ -9684,9 +9350,9 @@ 12 - 219 - 220 - 910 + 5905 + 5906 + 22 @@ -9700,9 +9366,9 @@ 12 - 219 - 220 - 910 + 9175 + 9176 + 22 @@ -9712,27 +9378,27 @@ fields - 19350704 + 2886451 id - 19350704 + 2886451 nodeName - 13628474 + 2508459 typeid - 3038794 + 182623 parentid - 4089502 + 249278 sourceid - 19350704 + 2886451 @@ -9746,7 +9412,7 @@ 1 2 - 19350704 + 2886451 @@ -9762,7 +9428,7 @@ 1 2 - 19350704 + 2886451 @@ -9778,7 +9444,7 @@ 1 2 - 19350704 + 2886451 @@ -9794,7 +9460,7 @@ 1 2 - 19350704 + 2886451 @@ -9810,17 +9476,12 @@ 1 2 - 12016876 + 2356342 2 - 3 - 1123700 - - - 3 - 722 - 487897 + 302 + 152116 @@ -9836,17 +9497,12 @@ 1 2 - 12416414 + 2425714 2 - 5 - 1085283 - - - 5 - 160 - 126776 + 183 + 82744 @@ -9862,17 +9518,12 @@ 1 2 - 12016876 + 2356342 2 - 3 - 1123700 - - - 3 - 722 - 487897 + 302 + 152116 @@ -9888,17 +9539,12 @@ 1 2 - 12016876 + 2356342 2 - 3 - 1123700 - - - 3 - 722 - 487897 + 302 + 152116 @@ -9914,27 +9560,27 @@ 1 2 - 2059157 + 124952 2 3 - 320782 + 21104 3 4 - 213215 + 10447 4 8 - 245869 + 14835 8 - 2588 - 199769 + 9650 + 11283 @@ -9950,202 +9596,237 @@ 1 2 - 2120625 + 130385 2 3 - 299653 - - - 3 - 4 - 199769 - - - 4 - 9 - 255473 - - - 9 - 2016 - 163272 - - - - - - - typeid - parentid - - - 12 - - - 1 - 2 - 2706486 - - - 2 - 4 - 251632 - - - 4 - 1014 - 80675 - - - - - - - typeid - sourceid - - - 12 - - - 1 - 2 - 2059157 - - - 2 - 3 - 320782 - - - 3 - 4 - 213215 - - - 4 - 8 - 245869 - - - 8 - 2588 - 199769 - - - - - - - parentid - id - - - 12 - - - 1 - 2 - 2427962 - - - 2 - 3 - 478293 - - - 3 - 4 - 303495 - - - 4 - 6 - 338070 - - - 6 - 13 - 330387 - - - 13 - 1610 - 211294 - - - - - - - parentid - nodeName - - - 12 - - - 1 - 2 - 2427962 - - - 2 - 3 - 478293 - - - 3 - 4 - 303495 - - - 4 - 6 - 338070 - - - 6 - 13 - 330387 - - - 13 - 1610 - 211294 - - - - - - - parentid - typeid - - - 12 - - - 1 - 2 - 3031110 - - - 2 - 3 - 595465 + 17969 3 5 - 347674 + 16716 5 - 76 - 115251 + 20 + 13790 + + + 22 + 8913 + 3761 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 154205 + + + 2 + 3 + 18596 + + + 3 + 679 + 9820 + + + + + + + typeid + sourceid + + + 12 + + + 1 + 2 + 124952 + + + 2 + 3 + 21104 + + + 3 + 4 + 10447 + + + 4 + 8 + 14835 + + + 8 + 9650 + 11283 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 115132 + + + 2 + 3 + 25074 + + + 3 + 4 + 20477 + + + 4 + 5 + 15253 + + + 5 + 6 + 12328 + + + 6 + 8 + 18387 + + + 8 + 14 + 19641 + + + 14 + 93 + 18805 + + + 95 + 1772 + 4179 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 115132 + + + 2 + 3 + 25074 + + + 3 + 4 + 20477 + + + 4 + 5 + 15253 + + + 5 + 6 + 12328 + + + 6 + 8 + 18387 + + + 8 + 14 + 19641 + + + 14 + 93 + 18805 + + + 95 + 1772 + 4179 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 165280 + + + 2 + 3 + 39909 + + + 3 + 4 + 20895 + + + 4 + 7 + 18805 + + + 7 + 27 + 4387 @@ -10161,32 +9842,47 @@ 1 2 - 2427962 + 115132 2 3 - 478293 + 25074 3 4 - 303495 + 20477 4 + 5 + 15253 + + + 5 6 - 338070 + 12328 6 - 13 - 330387 + 8 + 18387 - 13 - 1610 - 211294 + 8 + 14 + 19641 + + + 14 + 93 + 18805 + + + 95 + 1772 + 4179 @@ -10202,7 +9898,7 @@ 1 2 - 19350704 + 2886451 @@ -10218,7 +9914,7 @@ 1 2 - 19350704 + 2886451 @@ -10234,7 +9930,7 @@ 1 2 - 19350704 + 2886451 @@ -10250,7 +9946,7 @@ 1 2 - 19350704 + 2886451 @@ -10260,15 +9956,15 @@ fieldsKotlinType - 19350704 + 2667261 id - 19350704 + 2667261 kttypeid - 1920 + 208 @@ -10282,7 +9978,7 @@ 1 2 - 19350704 + 2667261 @@ -10296,9 +9992,9 @@ 12 - 10074 - 10075 - 1920 + 12765 + 12766 + 208 @@ -10308,31 +10004,31 @@ constrs - 8006128 + 1103682 id - 8006128 + 1103682 nodeName - 4333451 + 597980 signature - 6803672 + 938261 typeid - 3841 + 524 parentid - 5639633 + 777558 sourceid - 5720309 + 788044 @@ -10346,7 +10042,7 @@ 1 2 - 8006128 + 1103682 @@ -10362,7 +10058,7 @@ 1 2 - 8006128 + 1103682 @@ -10378,7 +10074,7 @@ 1 2 - 8006128 + 1103682 @@ -10394,7 +10090,7 @@ 1 2 - 8006128 + 1103682 @@ -10410,7 +10106,7 @@ 1 2 - 8006128 + 1103682 @@ -10426,27 +10122,27 @@ 1 2 - 2623889 + 363874 2 3 - 1085283 + 145759 3 4 - 259315 + 38274 4 - 11 - 326545 + 12 + 45615 - 11 + 12 36 - 38417 + 4456 @@ -10462,22 +10158,22 @@ 1 2 - 2977327 + 412373 2 3 - 868226 + 116397 3 5 - 341912 + 49285 5 19 - 145985 + 19923 @@ -10493,7 +10189,7 @@ 1 2 - 4333451 + 597980 @@ -10509,17 +10205,17 @@ 1 2 - 3764878 + 520120 2 3 - 401458 + 54528 3 36 - 167114 + 23332 @@ -10535,22 +10231,22 @@ 1 2 - 2737220 + 379603 2 3 - 1083362 + 145497 3 5 - 353437 + 51120 5 32 - 159431 + 21759 @@ -10566,12 +10262,12 @@ 1 2 - 6302329 + 869575 2 36 - 501343 + 68685 @@ -10587,7 +10283,7 @@ 1 2 - 6803672 + 938261 @@ -10603,7 +10299,7 @@ 1 2 - 6803672 + 938261 @@ -10619,12 +10315,12 @@ 1 2 - 6302329 + 869575 2 36 - 501343 + 68685 @@ -10640,12 +10336,12 @@ 1 2 - 6461760 + 891597 2 23 - 341912 + 46664 @@ -10661,12 +10357,12 @@ 22 23 - 1920 + 262 - 4146 - 4147 - 1920 + 4188 + 4189 + 262 @@ -10682,12 +10378,12 @@ 1 2 - 1920 + 262 - 2255 - 2256 - 1920 + 2280 + 2281 + 262 @@ -10703,12 +10399,12 @@ 1 2 - 1920 + 262 - 3541 - 3542 - 1920 + 3578 + 3579 + 262 @@ -10724,12 +10420,12 @@ 22 23 - 1920 + 262 - 2914 - 2915 - 1920 + 2944 + 2945 + 262 @@ -10745,12 +10441,12 @@ 22 23 - 1920 + 262 - 2956 - 2957 - 1920 + 2984 + 2985 + 262 @@ -10766,22 +10462,22 @@ 1 2 - 4256617 + 588281 2 3 - 895118 + 120068 3 6 - 434113 + 61869 6 19 - 53783 + 7340 @@ -10797,7 +10493,7 @@ 1 2 - 5639633 + 777558 @@ -10813,22 +10509,22 @@ 1 2 - 4256617 + 588281 2 3 - 895118 + 120068 3 6 - 434113 + 61869 6 19 - 53783 + 7340 @@ -10844,7 +10540,7 @@ 1 2 - 5639633 + 777558 @@ -10860,22 +10556,22 @@ 1 2 - 4256617 + 588281 2 3 - 895118 + 120068 3 6 - 434113 + 61869 6 19 - 53783 + 7340 @@ -10891,12 +10587,12 @@ 1 2 - 5357267 + 737710 2 - 209 - 363041 + 219 + 50334 @@ -10912,12 +10608,12 @@ 1 2 - 5357267 + 737710 2 - 172 - 363041 + 178 + 50334 @@ -10933,12 +10629,12 @@ 1 2 - 5357267 + 737710 2 - 172 - 363041 + 178 + 50334 @@ -10954,7 +10650,7 @@ 1 2 - 5720309 + 788044 @@ -10970,12 +10666,12 @@ 1 2 - 5357267 + 737710 2 - 209 - 363041 + 219 + 50334 @@ -10985,15 +10681,15 @@ constrsKotlinType - 8006128 + 1103682 id - 8006128 + 1103682 kttypeid - 1920 + 262 @@ -11007,7 +10703,7 @@ 1 2 - 8006128 + 1103682 @@ -11021,9 +10717,9 @@ 12 - 4168 - 4169 - 1920 + 4210 + 4211 + 262 @@ -11033,31 +10729,31 @@ methods - 109719302 + 15113893 id - 109719302 + 15113893 nodeName - 22908130 + 3165025 signature - 33369112 + 4608463 typeid - 13338425 + 1843228 parentid - 12810189 + 1782931 sourceid - 67091663 + 9250220 @@ -11071,7 +10767,7 @@ 1 2 - 109719302 + 15113893 @@ -11087,7 +10783,7 @@ 1 2 - 109719302 + 15113893 @@ -11103,7 +10799,7 @@ 1 2 - 109719302 + 15113893 @@ -11119,7 +10815,7 @@ 1 2 - 109719302 + 15113893 @@ -11135,7 +10831,7 @@ 1 2 - 109719302 + 15113893 @@ -11151,32 +10847,32 @@ 1 2 - 13324979 + 1845587 2 3 - 4070294 + 561540 3 4 - 1573181 + 218114 4 7 - 2026503 + 277624 7 - 56 - 1719166 + 61 + 238038 - 57 + 61 1769 - 194006 + 24118 @@ -11192,17 +10888,17 @@ 1 2 - 19150935 + 2647264 2 3 - 2228193 + 306986 3 - 298 - 1529001 + 308 + 210774 @@ -11218,22 +10914,22 @@ 1 2 - 19179748 + 2651983 2 3 - 1872834 + 257176 3 25 - 1726849 + 238300 25 - 741 - 128697 + 752 + 17564 @@ -11249,27 +10945,27 @@ 1 2 - 14028012 + 1943110 2 3 - 3889733 + 536111 3 4 - 1502109 + 207628 4 7 - 1817129 + 249311 7 - 1099 - 1671144 + 1120 + 228863 @@ -11285,27 +10981,27 @@ 1 2 - 13743725 + 1905621 2 3 - 4283509 + 589067 3 4 - 1544368 + 213396 4 7 - 1857467 + 254292 7 - 800 - 1479059 + 811 + 202647 @@ -11321,27 +11017,27 @@ 1 2 - 22735253 + 3143266 2 3 - 5434102 + 751080 3 5 - 2635414 + 358893 5 - 157 - 2502875 + 152 + 345785 - 157 - 1096 - 61467 + 155 + 1117 + 9437 @@ -11357,7 +11053,7 @@ 1 2 - 33369112 + 4608463 @@ -11373,17 +11069,17 @@ 1 2 - 29957672 + 4140250 2 5 - 2650781 + 362301 5 - 739 - 760659 + 750 + 105911 @@ -11399,27 +11095,27 @@ 1 2 - 22741015 + 3144052 2 3 - 5432181 + 750818 3 5 - 2631572 + 358369 5 - 157 - 2502875 + 152 + 345785 - 157 - 1096 - 61467 + 155 + 1117 + 9437 @@ -11435,22 +11131,22 @@ 1 2 - 23365294 + 3232137 2 3 - 5656921 + 780704 3 6 - 2900492 + 397692 6 - 795 - 1446404 + 806 + 197928 @@ -11466,32 +11162,32 @@ 1 2 - 6603903 + 915453 2 3 - 2729536 + 377244 3 4 - 1208218 + 167256 4 6 - 1119859 + 153099 6 15 - 1019974 + 140254 15 - 10335 - 656932 + 10397 + 89919 @@ -11507,22 +11203,22 @@ 1 2 - 8714924 + 1203826 2 3 - 2620047 + 363612 3 6 - 1167880 + 160964 6 - 2888 - 835572 + 2934 + 114824 @@ -11538,22 +11234,22 @@ 1 2 - 8565097 + 1183115 2 3 - 2602760 + 361514 3 6 - 1210139 + 165945 6 - 4142 - 960428 + 4201 + 132651 @@ -11569,27 +11265,27 @@ 1 2 - 7714158 + 1068028 2 3 - 2869759 + 396119 3 4 - 1108333 + 153886 4 8 - 1069916 + 146283 8 - 2865 - 576256 + 2901 + 78909 @@ -11605,32 +11301,32 @@ 1 2 - 7166714 + 992265 2 3 - 2524004 + 349717 3 4 - 1096808 + 151789 4 6 - 1094888 + 149167 6 16 - 1016132 + 140254 16 - 6435 - 439876 + 6502 + 60034 @@ -11646,52 +11342,52 @@ 1 2 - 3630418 + 511993 2 3 - 1456008 + 206055 3 4 - 1164038 + 160964 4 5 - 735687 + 100930 5 7 - 1021895 + 139992 7 10 - 1106413 + 153099 10 13 - 1146751 + 159915 13 21 - 1181326 + 162013 21 40 - 1021895 + 140778 40 319 - 345754 + 47188 @@ -11707,52 +11403,52 @@ 1 2 - 3678439 + 518547 2 3 - 1457929 + 206317 3 4 - 1231268 + 170140 4 5 - 791392 + 108533 5 7 - 960428 + 131865 7 10 - 1183247 + 163324 10 13 - 1102571 + 153886 13 18 - 849018 + 116397 18 - 26 - 968111 + 27 + 136846 - 26 + 27 290 - 587781 + 77074 @@ -11768,52 +11464,52 @@ 1 2 - 3630418 + 511993 2 3 - 1456008 + 206055 3 4 - 1164038 + 160964 4 5 - 735687 + 100930 5 7 - 1021895 + 139992 7 10 - 1106413 + 153099 10 13 - 1146751 + 159915 13 21 - 1181326 + 162013 21 40 - 1021895 + 140778 40 319 - 345754 + 47188 @@ -11829,52 +11525,52 @@ 1 2 - 4348818 + 611613 2 3 - 1757583 + 246690 3 4 - 1436800 + 198453 4 5 - 922010 + 126621 5 6 - 743371 + 102503 6 7 - 564731 + 77074 7 8 - 879752 + 122951 8 11 - 1160197 + 160178 11 - 31 - 964269 + 35 + 133962 - 33 + 37 78 - 32654 + 2883 @@ -11890,52 +11586,52 @@ 1 2 - 3630418 + 511993 2 3 - 1456008 + 206055 3 4 - 1164038 + 160964 4 5 - 735687 + 100930 5 7 - 1021895 + 139992 7 10 - 1106413 + 153099 10 13 - 1146751 + 159915 13 21 - 1181326 + 162013 21 40 - 1021895 + 140778 40 319 - 345754 + 47188 @@ -11951,17 +11647,17 @@ 1 2 - 61836200 + 8524569 2 50 - 5032643 + 695241 52 - 286 - 222819 + 296 + 30410 @@ -11977,7 +11673,7 @@ 1 2 - 67091663 + 9250220 @@ -11993,12 +11689,12 @@ 1 2 - 66767038 + 9204343 2 - 284 - 324624 + 294 + 45877 @@ -12014,12 +11710,12 @@ 1 2 - 65030584 + 8968401 2 - 209 - 2061078 + 219 + 281819 @@ -12035,17 +11731,17 @@ 1 2 - 61836200 + 8524569 2 50 - 5032643 + 695241 52 - 286 - 222819 + 296 + 30410 @@ -12055,15 +11751,15 @@ methodsKotlinType - 109719302 + 15113893 id - 109719302 + 15113893 kttypeid - 1920 + 262 @@ -12077,7 +11773,7 @@ 1 2 - 109719302 + 15113893 @@ -12091,9 +11787,9 @@ 12 - 57120 - 57121 - 1920 + 57652 + 57653 + 262 @@ -12103,27 +11799,27 @@ params - 120852585 + 16587479 id - 120852585 + 16587479 typeid - 12833239 + 1772707 pos - 42258 + 5767 parentid - 65007534 + 8942448 sourceid - 73639861 + 10111931 @@ -12137,7 +11833,7 @@ 1 2 - 120852585 + 16587479 @@ -12153,7 +11849,7 @@ 1 2 - 120852585 + 16587479 @@ -12169,7 +11865,7 @@ 1 2 - 120852585 + 16587479 @@ -12185,7 +11881,7 @@ 1 2 - 120852585 + 16587479 @@ -12201,37 +11897,37 @@ 1 2 - 6763334 + 935901 2 3 - 1945827 + 269759 3 4 - 948902 + 130816 4 6 - 1148671 + 158080 6 12 - 1018053 + 138943 12 326 - 966190 + 133438 343 - 6738 - 42258 + 6748 + 5767 @@ -12247,22 +11943,22 @@ 1 2 - 10436011 + 1442651 2 3 - 1342678 + 185345 3 - 8 - 964269 + 9 + 136321 - 8 + 9 17 - 90280 + 8389 @@ -12278,32 +11974,32 @@ 1 2 - 7005362 + 968933 2 3 - 1895885 + 262943 3 4 - 975794 + 134486 4 6 - 1087204 + 149691 6 13 - 1008449 + 137894 13 - 4326 - 860543 + 4336 + 118757 @@ -12319,32 +12015,32 @@ 1 2 - 7216656 + 998032 2 3 - 1788317 + 248787 3 4 - 996924 + 136846 4 6 - 1117938 + 153362 6 13 - 1002686 + 137894 13 5757 - 710716 + 97784 @@ -12360,57 +12056,57 @@ 1 2 - 3841 + 524 50 53 - 3841 + 524 104 106 - 3841 + 524 157 165 - 3841 + 524 214 231 - 3841 + 524 291 315 - 3841 + 524 485 606 - 3841 + 524 804 1067 - 3841 + 524 1445 2015 - 3841 + 524 - 3084 - 5199 - 3841 + 3087 + 5218 + 524 - 12689 - 33844 - 3841 + 12756 + 34112 + 524 @@ -12426,57 +12122,57 @@ 1 2 - 3841 + 524 2 5 - 3841 + 524 6 7 - 3841 + 524 11 14 - 3841 + 524 15 20 - 3841 + 524 27 37 - 3841 + 524 57 75 - 3841 + 524 97 153 - 3841 + 524 201 289 - 3841 + 524 - 403 - 777 - 3841 + 406 + 789 + 524 - 1979 - 5089 - 3841 + 1997 + 5152 + 524 @@ -12492,57 +12188,57 @@ 1 2 - 3841 + 524 50 53 - 3841 + 524 104 106 - 3841 + 524 157 165 - 3841 + 524 214 231 - 3841 + 524 291 315 - 3841 + 524 485 606 - 3841 + 524 804 1067 - 3841 + 524 1445 2015 - 3841 + 524 - 3084 - 5199 - 3841 + 3087 + 5218 + 524 - 12689 - 33844 - 3841 + 12756 + 34112 + 524 @@ -12558,57 +12254,57 @@ 1 2 - 3841 + 524 2 5 - 3841 + 524 6 8 - 3841 + 524 11 15 - 3841 + 524 16 29 - 3841 + 524 39 63 - 3841 + 524 101 144 - 3841 + 524 210 386 - 3841 + 524 628 1069 - 3841 + 524 - 1955 - 3748 - 3841 + 1958 + 3765 + 524 - 8555 - 21355 - 3841 + 8596 + 21529 + 524 @@ -12624,27 +12320,27 @@ 1 2 - 40633790 + 5598369 2 3 - 14389133 + 1976404 3 4 - 4060689 + 558395 4 10 - 4992305 + 682133 10 23 - 931615 + 127146 @@ -12660,17 +12356,17 @@ 1 2 - 45326442 + 6239868 2 3 - 14805959 + 2032767 3 23 - 4875132 + 669811 @@ -12686,27 +12382,27 @@ 1 2 - 40633790 + 5598369 2 3 - 14389133 + 1976404 3 4 - 4060689 + 558395 4 10 - 4992305 + 682133 10 23 - 931615 + 127146 @@ -12722,27 +12418,27 @@ 1 2 - 40633790 + 5598369 2 3 - 14389133 + 1976404 3 4 - 4060689 + 558395 4 10 - 4992305 + 682133 10 23 - 931615 + 127146 @@ -12758,12 +12454,12 @@ 1 2 - 68584168 + 9415117 2 - 286 - 5055693 + 296 + 696814 @@ -12779,12 +12475,12 @@ 1 2 - 71932220 + 9877563 2 - 286 - 1707641 + 296 + 234368 @@ -12800,7 +12496,7 @@ 1 2 - 73639861 + 10111931 @@ -12816,12 +12512,12 @@ 1 2 - 68584168 + 9415117 2 - 286 - 5055693 + 296 + 696814 @@ -12831,15 +12527,15 @@ paramsKotlinType - 120852585 + 16587479 id - 120852585 + 16587479 kttypeid - 1920 + 262 @@ -12853,7 +12549,7 @@ 1 2 - 120852585 + 16587479 @@ -12867,9 +12563,9 @@ 12 - 62916 - 62917 - 1920 + 63273 + 63274 + 262 @@ -12879,15 +12575,15 @@ paramName - 15639610 + 2140514 id - 15639610 + 2140514 nodeName - 2335761 + 319307 @@ -12901,7 +12597,7 @@ 1 2 - 15639610 + 2140514 @@ -12917,37 +12613,37 @@ 1 2 - 998845 + 136321 2 3 - 451401 + 61869 3 4 - 249711 + 34342 4 5 - 170956 + 23332 5 8 - 182481 + 24904 8 - 18 - 176718 + 19 + 24118 - 18 - 769 - 105647 + 19 + 770 + 14418 @@ -12957,11 +12653,11 @@ isVarargsParam - 945061 + 813764 param - 945061 + 813764 @@ -13184,11 +12880,11 @@ isAnnotType - 29260 + 35103 interfaceid - 29260 + 35103 @@ -13472,49 +13168,49 @@ isEnumType - 397617 + 56888 classid - 397617 + 56888 isEnumConst - 3081053 + 435967 fieldid - 3081053 + 435967 typeVars - 6288883 + 864332 id - 6288883 + 864332 nodeName - 86438 + 11797 pos - 7683 + 1048 kind - 1920 + 262 parentid - 4444861 + 612137 @@ -13528,7 +13224,7 @@ 1 2 - 6288883 + 864332 @@ -13544,7 +13240,7 @@ 1 2 - 6288883 + 864332 @@ -13560,7 +13256,7 @@ 1 2 - 6288883 + 864332 @@ -13576,7 +13272,7 @@ 1 2 - 6288883 + 864332 @@ -13592,47 +13288,47 @@ 1 2 - 21129 + 2883 2 3 - 11525 + 1572 3 4 - 9604 + 1310 4 7 - 7683 + 1048 7 10 - 7683 + 1048 10 28 - 7683 + 1048 36 - 69 - 7683 + 70 + 1048 71 412 - 7683 + 1048 - 603 - 710 - 5762 + 605 + 724 + 786 @@ -13648,22 +13344,22 @@ 1 2 - 51863 + 7078 2 3 - 23050 + 3145 3 4 - 9604 + 1310 4 5 - 1920 + 262 @@ -13679,7 +13375,7 @@ 1 2 - 86438 + 11797 @@ -13695,47 +13391,47 @@ 1 2 - 21129 + 2883 2 3 - 11525 + 1572 3 4 - 9604 + 1310 4 7 - 7683 + 1048 7 10 - 7683 + 1048 10 28 - 7683 + 1048 36 - 69 - 7683 + 70 + 1048 71 412 - 7683 + 1048 - 603 - 710 - 5762 + 605 + 724 + 786 @@ -13751,22 +13447,22 @@ 6 7 - 1920 + 262 89 90 - 1920 + 262 - 865 - 866 - 1920 + 867 + 868 + 262 - 2314 - 2315 - 1920 + 2335 + 2336 + 262 @@ -13782,22 +13478,22 @@ 2 3 - 1920 + 262 13 14 - 1920 + 262 21 22 - 1920 + 262 34 35 - 1920 + 262 @@ -13813,7 +13509,7 @@ 1 2 - 7683 + 1048 @@ -13829,22 +13525,22 @@ 6 7 - 1920 + 262 89 90 - 1920 + 262 - 865 - 866 - 1920 + 867 + 868 + 262 - 2314 - 2315 - 1920 + 2335 + 2336 + 262 @@ -13858,9 +13554,9 @@ 12 - 3274 - 3275 - 1920 + 3297 + 3298 + 262 @@ -13876,7 +13572,7 @@ 45 46 - 1920 + 262 @@ -13892,7 +13588,7 @@ 4 5 - 1920 + 262 @@ -13906,9 +13602,9 @@ 12 - 2314 - 2315 - 1920 + 2335 + 2336 + 262 @@ -13924,17 +13620,17 @@ 1 2 - 2783320 + 384846 2 3 - 1490584 + 203958 3 5 - 170956 + 23332 @@ -13950,17 +13646,17 @@ 1 2 - 2783320 + 384846 2 3 - 1490584 + 203958 3 5 - 170956 + 23332 @@ -13976,17 +13672,17 @@ 1 2 - 2783320 + 384846 2 3 - 1490584 + 203958 3 5 - 170956 + 23332 @@ -14002,7 +13698,7 @@ 1 2 - 4444861 + 612137 @@ -14012,19 +13708,19 @@ wildcards - 3338447 + 458250 id - 3338447 + 458250 nodeName - 533998 + 74976 kind - 3841 + 524 @@ -14038,7 +13734,7 @@ 1 2 - 3338447 + 458250 @@ -14054,7 +13750,7 @@ 1 2 - 3338447 + 458250 @@ -14070,22 +13766,22 @@ 1 2 - 397617 + 56363 2 3 - 55704 + 7340 3 7 - 44179 + 6029 7 170 - 36496 + 5243 @@ -14101,7 +13797,7 @@ 1 2 - 533998 + 74976 @@ -14115,14 +13811,14 @@ 12 - 791 - 792 - 1920 + 795 + 796 + 262 - 947 - 948 - 1920 + 953 + 954 + 262 @@ -14136,14 +13832,14 @@ 12 - 91 - 92 - 1920 + 94 + 95 + 262 - 187 - 188 - 1920 + 192 + 193 + 262 @@ -14153,23 +13849,23 @@ typeBounds - 4229725 + 581989 id - 4229725 + 581989 typeid - 2852471 + 392449 pos - 1920 + 262 parentid - 4229725 + 581989 @@ -14183,7 +13879,7 @@ 1 2 - 4229725 + 581989 @@ -14199,7 +13895,7 @@ 1 2 - 4229725 + 581989 @@ -14215,7 +13911,7 @@ 1 2 - 4229725 + 581989 @@ -14231,17 +13927,17 @@ 1 2 - 2091812 + 288635 2 3 - 695349 + 94900 3 52 - 65309 + 8913 @@ -14257,7 +13953,7 @@ 1 2 - 2852471 + 392449 @@ -14273,17 +13969,17 @@ 1 2 - 2091812 + 288635 2 3 - 695349 + 94900 3 52 - 65309 + 8913 @@ -14297,9 +13993,9 @@ 12 - 2202 - 2203 - 1920 + 2220 + 2221 + 262 @@ -14313,9 +14009,9 @@ 12 - 1485 - 1486 - 1920 + 1497 + 1498 + 262 @@ -14329,9 +14025,9 @@ 12 - 2202 - 2203 - 1920 + 2220 + 2221 + 262 @@ -14347,7 +14043,7 @@ 1 2 - 4229725 + 581989 @@ -14363,7 +14059,7 @@ 1 2 - 4229725 + 581989 @@ -14379,7 +14075,7 @@ 1 2 - 4229725 + 581989 @@ -14685,37 +14381,37 @@ isParameterized - 27045654 + 22244248 memberid - 27045654 + 22244248 isRaw - 731846 + 100406 memberid - 731846 + 100406 erasure - 27777500 + 22246872 memberid - 27777500 + 22246872 erasureid - 954665 + 2976 @@ -14729,7 +14425,7 @@ 1 2 - 27777500 + 22246872 @@ -14745,62 +14441,52 @@ 1 2 - 142143 + 184 2 3 - 138301 + 456 3 - 4 - 86438 - - - 4 5 - 57625 + 260 5 6 - 65309 + 734 6 - 8 - 69150 + 9 + 236 - 8 - 10 - 61467 + 9 + 23 + 254 - 10 - 15 - 72992 + 23 + 98 + 225 - 15 - 22 - 76834 + 101 + 288 + 225 - 22 - 44 - 74913 + 345 + 2541 + 225 - 46 - 124 - 72992 - - - 169 - 1564 - 36496 + 2940 + 448198 + 173 @@ -14810,15 +14496,15 @@ isAnonymClass - 174213 + 157916 classid - 174213 + 157916 parent - 174213 + 157916 @@ -14832,7 +14518,7 @@ 1 2 - 174213 + 157916 @@ -14848,7 +14534,7 @@ 1 2 - 174213 + 157916 @@ -14858,15 +14544,15 @@ isLocalClassOrInterface - 3841 + 3533 typeid - 3841 + 3533 parent - 3841 + 3533 @@ -14880,7 +14566,7 @@ 1 2 - 3841 + 3533 @@ -14896,7 +14582,7 @@ 1 2 - 3841 + 3533 @@ -14917,15 +14603,15 @@ lambdaKind - 167982 + 152268 exprId - 167982 + 152268 bodyKind - 13 + 12 @@ -14939,7 +14625,7 @@ 1 2 - 167982 + 152268 @@ -14955,7 +14641,7 @@ 12267 12268 - 13 + 12 @@ -14965,27 +14651,27 @@ arrays - 1375332 + 190588 id - 1375332 + 190588 nodeName - 831730 + 115349 elementtypeid - 1365728 + 189277 dimension - 3841 + 524 componenttypeid - 1375332 + 190588 @@ -14999,7 +14685,7 @@ 1 2 - 1375332 + 190588 @@ -15015,7 +14701,7 @@ 1 2 - 1375332 + 190588 @@ -15031,7 +14717,7 @@ 1 2 - 1375332 + 190588 @@ -15047,7 +14733,7 @@ 1 2 - 1375332 + 190588 @@ -15063,17 +14749,17 @@ 1 2 - 664616 + 92279 2 3 - 140222 + 19137 3 87 - 26891 + 3932 @@ -15089,17 +14775,17 @@ 1 2 - 664616 + 92279 2 3 - 140222 + 19137 3 87 - 26891 + 3932 @@ -15115,7 +14801,7 @@ 1 2 - 831730 + 115349 @@ -15131,17 +14817,17 @@ 1 2 - 664616 + 92279 2 3 - 140222 + 19137 3 87 - 26891 + 3932 @@ -15157,12 +14843,12 @@ 1 2 - 1356124 + 187966 2 3 - 9604 + 1310 @@ -15178,12 +14864,12 @@ 1 2 - 1356124 + 187966 2 3 - 9604 + 1310 @@ -15199,12 +14885,12 @@ 1 2 - 1356124 + 187966 2 3 - 9604 + 1310 @@ -15220,12 +14906,12 @@ 1 2 - 1356124 + 187966 2 3 - 9604 + 1310 @@ -15241,12 +14927,12 @@ 5 6 - 1920 + 262 - 711 - 712 - 1920 + 722 + 723 + 262 @@ -15262,12 +14948,12 @@ 5 6 - 1920 + 262 - 428 - 429 - 1920 + 435 + 436 + 262 @@ -15283,12 +14969,12 @@ 5 6 - 1920 + 262 - 711 - 712 - 1920 + 722 + 723 + 262 @@ -15304,12 +14990,12 @@ 5 6 - 1920 + 262 - 711 - 712 - 1920 + 722 + 723 + 262 @@ -15325,7 +15011,7 @@ 1 2 - 1375332 + 190588 @@ -15341,7 +15027,7 @@ 1 2 - 1375332 + 190588 @@ -15357,7 +15043,7 @@ 1 2 - 1375332 + 190588 @@ -15373,7 +15059,7 @@ 1 2 - 1375332 + 190588 @@ -15383,15 +15069,15 @@ enclInReftype - 4051085 + 564162 child - 4051085 + 564162 parent - 1125621 + 156245 @@ -15405,7 +15091,7 @@ 1 2 - 4051085 + 564162 @@ -15421,32 +15107,32 @@ 1 2 - 666537 + 92803 2 3 - 176718 + 24642 3 4 - 86438 + 11797 4 - 6 - 82596 + 7 + 14418 - 6 - 17 - 84517 + 7 + 55 + 11797 - 17 + 55 265 - 28812 + 786 @@ -15456,15 +15142,15 @@ extendsReftype - 34389087 + 27274828 id1 - 33104034 + 22257941 id2 - 13251986 + 17181115 @@ -15478,12 +15164,12 @@ 1 2 - 32118635 + 20991189 2 - 10 - 985399 + 6 + 1266751 @@ -15499,17 +15185,17 @@ 1 2 - 12030322 + 13982285 2 - 5 - 1023816 + 3 + 1947557 - 5 - 8715 - 197848 + 3 + 937651 + 1251272 @@ -15519,15 +15205,15 @@ implInterface - 14423708 + 3052687 id1 - 8255839 + 757298 id2 - 4487119 + 2275569 @@ -15541,27 +15227,37 @@ 1 2 - 4223962 + 210035 2 3 - 2829421 + 50057 3 4 - 276603 + 67415 4 5 - 920090 + 62041 5 + 6 + 19333 + + + 6 7 - 5762 + 305943 + + + 7 + 10 + 42471 @@ -15577,17 +15273,12 @@ 1 2 - 4003064 + 2200149 2 - 4 - 366883 - - - 4 - 2275 - 117172 + 63705 + 75420 @@ -15597,15 +15288,15 @@ permits - 129 + 132 id1 - 31 + 30 id2 - 129 + 132 @@ -15619,12 +15310,12 @@ 1 2 - 2 + 3 2 3 - 8 + 3 3 @@ -15634,27 +15325,17 @@ 4 5 - 2 - - - 5 - 6 - 2 - - - 6 - 8 - 2 + 10 8 9 - 2 + 3 - 9 + 10 11 - 2 + 3 @@ -15670,7 +15351,7 @@ 1 2 - 129 + 132 @@ -15680,15 +15361,15 @@ hasModifier - 270713939 + 48527772 id1 - 180180147 + 24369293 id2 - 26891 + 63 @@ -15702,17 +15383,17 @@ 1 2 - 90230296 + 356153 2 3 - 89365911 + 23867801 3 4 - 583940 + 145338 @@ -15726,74 +15407,59 @@ 12 - 4 - 5 - 1920 + 22 + 23 + 5 - 14 - 15 - 1920 + 27 + 28 + 5 - 20 - 21 - 1920 + 100 + 101 + 5 - 21 - 22 - 1920 + 262 + 263 + 5 - 34 - 35 - 1920 + 712 + 713 + 5 - 50 - 51 - 1920 + 1374 + 1375 + 5 - 109 - 110 - 1920 + 11041 + 11042 + 5 - 219 - 220 - 1920 + 63640 + 63641 + 5 - 3864 - 3865 - 1920 + 242567 + 242568 + 5 - 7193 - 7194 - 1920 + 3864462 + 3864463 + 5 - 9195 - 9196 - 1920 - - - 14706 - 14707 - 1920 - - - 18810 - 18811 - 1920 - - - 86695 - 86696 - 1920 + 4211558 + 4211559 + 5 @@ -15803,23 +15469,23 @@ imports - 368550 + 441072 id - 368550 + 441072 holder - 58078 + 52468 name - 8794 + 4282 kind - 663 + 29 @@ -15833,7 +15499,7 @@ 1 2 - 368550 + 441072 @@ -15849,7 +15515,7 @@ 1 2 - 368550 + 441072 @@ -15865,7 +15531,7 @@ 1 2 - 368550 + 441072 @@ -15881,120 +15547,120 @@ 1 2 - 28375 + 20638 2 3 - 9292 + 8976 3 4 - 5475 + 4991 4 - 6 - 4646 + 5 + 3335 - 6 - 15 - 4480 - - - 15 - 54 - 4480 - - - 64 - 98 - 1327 - - - - - - - holder - name - - - 12 - - - 1 - 2 - 54593 - - - 2 + 5 7 - 3484 - - - - - - - holder - kind - - - 12 - - - 1 - 2 - 55091 - - - 2 - 3 - 2986 - - - - - - - name - id - - - 12 - - - 1 - 2 - 4148 - - - 2 - 3 - 1825 - - - 3 - 4 - 829 - - - 4 - 7 - 663 + 4096 7 - 26 - 663 + 12 + 4305 - 30 - 1962 - 663 + 12 + 32 + 3984 + + + 32 + 1529 + 2141 + + + + + + + holder + name + + + 12 + + + 1 + 2 + 50871 + + + 2 + 54 + 1596 + + + + + + + holder + kind + + + 12 + + + 1 + 2 + 51200 + + + 2 + 4 + 1268 + + + + + + + name + id + + + 12 + + + 1 + 2 + 2469 + + + 2 + 3 + 962 + + + 3 + 4 + 358 + + + 4 + 7 + 328 + + + 7 + 57945 + 164 @@ -16010,17 +15676,12 @@ 1 2 - 7301 + 4163 2 - 3 - 1161 - - - 3 - 337 - 331 + 6945 + 119 @@ -16036,12 +15697,12 @@ 1 2 - 8628 + 4275 3 4 - 165 + 7 @@ -16055,24 +15716,24 @@ 12 - 1 - 2 - 165 + 15 + 16 + 7 - 6 - 7 - 165 + 68 + 69 + 7 - 260 - 261 - 165 + 1170 + 1171 + 7 - 1954 - 1955 - 165 + 57861 + 57862 + 7 @@ -16086,24 +15747,24 @@ 12 - 1 - 2 - 165 + 10 + 11 + 7 - 3 - 4 - 165 + 25 + 26 + 7 - 31 - 32 - 165 + 257 + 258 + 7 - 333 - 334 - 165 + 6915 + 6916 + 7 @@ -16119,12 +15780,12 @@ 1 2 - 497 + 22 - 52 - 53 - 165 + 573 + 574 + 7 @@ -17973,7 +17634,7 @@ kttypeid - 10930 + 156277 @@ -18003,17 +17664,12 @@ 1 2 - 8197 + 152777 2 - 3 - 1821 - - - 8123 - 8124 - 910 + 584083 + 3500 @@ -18292,22 +17948,22 @@ when_if - 74334 + 56072 id - 74334 + 56072 when_branch_else - 76075 + 70057 id - 76075 + 70057 @@ -18352,12 +18008,12 @@ 1 2 - 162993 + 162995 2 3 - 33137 + 33136 3 @@ -18450,15 +18106,15 @@ propertyRefGetBinding - 8876 + 8437 id - 8876 + 8437 getter - 5366 + 5101 @@ -18472,7 +18128,7 @@ 1 2 - 8876 + 8437 @@ -18488,17 +18144,17 @@ 1 2 - 1951 + 1855 2 3 - 3328 + 3164 3 6 - 86 + 82 @@ -18556,15 +18212,15 @@ propertyRefSetBinding - 2600 + 2226 id - 2600 + 2226 setter - 1300 + 1094 @@ -18578,7 +18234,7 @@ 1 2 - 2600 + 2226 @@ -18591,10 +18247,20 @@ 12 + + 1 + 2 + 32 + 2 3 - 1300 + 994 + + + 3 + 5 + 67 @@ -19053,15 +18719,15 @@ localvarsKotlinType - 240107 + 149454 id - 240107 + 149454 kttypeid - 1920 + 2 @@ -19075,7 +18741,7 @@ 1 2 - 240107 + 149454 @@ -19089,9 +18755,9 @@ 12 - 125 - 126 - 1920 + 59940 + 59941 + 2 @@ -19340,11 +19006,11 @@ isOpen - 1 + 13 id - 1 + 13 @@ -19502,15 +19168,15 @@ requires - 1991 + 3190 id - 1991 + 3190 target - 995 + 377 @@ -19524,7 +19190,7 @@ 1 2 - 1991 + 3190 @@ -19540,17 +19206,52 @@ 1 2 - 663 + 33 2 3 - 165 + 40 + + + 3 + 4 + 23 + + + 4 + 5 + 23 + + + 5 + 6 + 33 6 - 7 - 165 + 9 + 10 + + + 9 + 10 + 142 + + + 10 + 11 + 30 + + + 11 + 29 + 30 + + + 56 + 73 + 6 @@ -19571,11 +19272,11 @@ isStatic - 1 + 33 id - 1 + 33 @@ -20991,15 +20692,15 @@ xmlEncoding - 1129463 + 154148 id - 1129463 + 154148 encoding - 1920 + 262 @@ -21013,7 +20714,7 @@ 1 2 - 1129463 + 154148 @@ -21029,7 +20730,7 @@ 588 589 - 1920 + 262 @@ -21387,27 +21088,27 @@ xmlElements - 150282022 + 20510401 id - 150282022 + 20510401 name - 476372 + 65015 parentid - 3876287 + 529033 idx - 1703799 + 232533 fileid - 1129463 + 154148 @@ -21421,7 +21122,7 @@ 1 2 - 150282022 + 20510401 @@ -21437,7 +21138,7 @@ 1 2 - 150282022 + 20510401 @@ -21453,7 +21154,7 @@ 1 2 - 150282022 + 20510401 @@ -21469,7 +21170,7 @@ 1 2 - 150282022 + 20510401 @@ -21485,57 +21186,57 @@ 1 2 - 149826 + 20448 2 3 - 57625 + 7864 3 4 - 23050 + 3145 4 6 - 42258 + 5767 6 8 - 34575 + 4718 8 9 - 17287 + 2359 9 10 - 32654 + 4456 10 18 - 40337 + 5505 18 48 - 36496 + 4980 52 250 - 36496 + 4980 342 73380 - 5762 + 786 @@ -21551,52 +21252,52 @@ 1 2 - 174797 + 23856 2 3 - 65309 + 8913 3 4 - 24971 + 3408 4 5 - 21129 + 2883 5 6 - 26891 + 3670 6 8 - 40337 + 5505 8 10 - 40337 + 5505 10 21 - 38417 + 5243 22 128 - 36496 + 4980 130 229 - 7683 + 1048 @@ -21612,37 +21313,37 @@ 1 2 - 263157 + 35915 2 3 - 69150 + 9437 3 4 - 34575 + 4718 4 6 - 28812 + 3932 6 9 - 28812 + 3932 9 38 - 36496 + 4980 45 888 - 15366 + 2097 @@ -21658,42 +21359,42 @@ 1 2 - 259315 + 35391 2 3 - 51863 + 7078 3 4 - 24971 + 3408 4 5 - 19208 + 2621 5 7 - 42258 + 5767 7 16 - 36496 + 4980 17 114 - 38417 + 5243 118 131 - 3841 + 524 @@ -21709,32 +21410,32 @@ 1 2 - 2358811 + 321929 2 3 - 605069 + 82579 3 4 - 251632 + 34342 4 8 - 301574 + 41158 8 777 - 316941 + 43255 777 888 - 42258 + 5767 @@ -21750,17 +21451,17 @@ 1 2 - 3200146 + 436754 2 3 - 411063 + 56101 3 17 - 265078 + 36177 @@ -21776,32 +21477,32 @@ 1 2 - 2358811 + 321929 2 3 - 605069 + 82579 3 4 - 251632 + 34342 4 8 - 301574 + 41158 8 777 - 316941 + 43255 777 888 - 42258 + 5767 @@ -21817,7 +21518,7 @@ 1 2 - 3876287 + 529033 @@ -21833,67 +21534,67 @@ 2 8 - 144064 + 19661 9 76 - 136380 + 18613 76 82 - 128697 + 17564 82 89 - 122934 + 16778 89 92 - 111409 + 15205 92 95 - 134459 + 18351 95 97 - 149826 + 20448 97 98 - 211294 + 28837 98 99 - 130618 + 17826 99 104 - 155589 + 21234 104 106 - 130618 + 17826 106 159 - 128697 + 17564 162 2019 - 19208 + 2621 @@ -21909,22 +21610,22 @@ 1 2 - 1381095 + 188491 2 5 - 126776 + 17302 5 9 - 145985 + 19923 9 150 - 49942 + 6816 @@ -21940,67 +21641,67 @@ 2 8 - 144064 + 19661 9 76 - 136380 + 18613 76 82 - 128697 + 17564 82 89 - 122934 + 16778 89 92 - 111409 + 15205 92 95 - 134459 + 18351 95 97 - 149826 + 20448 97 98 - 211294 + 28837 98 99 - 130618 + 17826 99 104 - 155589 + 21234 104 106 - 130618 + 17826 106 159 - 128697 + 17564 162 2019 - 19208 + 2621 @@ -22016,67 +21717,67 @@ 2 8 - 144064 + 19661 9 76 - 136380 + 18613 76 82 - 128697 + 17564 82 89 - 122934 + 16778 89 92 - 111409 + 15205 92 95 - 134459 + 18351 95 97 - 149826 + 20448 97 98 - 211294 + 28837 98 99 - 130618 + 17826 99 104 - 155589 + 21234 104 106 - 130618 + 17826 106 139 - 128697 + 17564 141 589 - 19208 + 2621 @@ -22092,57 +21793,57 @@ 1 2 - 82596 + 11272 2 3 - 190164 + 25953 3 4 - 249711 + 34080 4 5 - 105647 + 14418 5 7 - 84517 + 11534 7 10 - 94121 + 12845 10 31 - 88359 + 12059 35 694 - 86438 + 11797 738 776 - 28812 + 3932 777 779 - 92201 + 12583 788 889 - 26891 + 3670 @@ -22158,37 +21859,37 @@ 1 2 - 82596 + 11272 2 3 - 562810 + 76812 3 4 - 195927 + 26740 4 5 - 92201 + 12583 5 6 - 86438 + 11797 6 9 - 92201 + 12583 9 69 - 17287 + 2359 @@ -22204,27 +21905,27 @@ 1 2 - 82596 + 11272 2 3 - 800997 + 109319 3 4 - 80675 + 11010 4 6 - 82596 + 11272 6 165 - 82596 + 11272 @@ -22240,42 +21941,42 @@ 1 2 - 286207 + 39061 2 3 - 309257 + 42207 3 4 - 124855 + 17040 4 7 - 94121 + 12845 7 17 - 94121 + 12845 18 763 - 86438 + 11797 764 777 - 92201 + 12583 777 888 - 42258 + 5767 @@ -22285,31 +21986,31 @@ xmlAttrs - 182798274 + 24948200 id - 182798274 + 24948200 elementid - 149002731 + 20335805 name - 722241 + 98571 value - 11548187 + 1576089 idx - 44179 + 6029 fileid - 1127542 + 153886 @@ -22323,7 +22024,7 @@ 1 2 - 182798274 + 24948200 @@ -22339,7 +22040,7 @@ 1 2 - 182798274 + 24948200 @@ -22355,7 +22056,7 @@ 1 2 - 182798274 + 24948200 @@ -22371,7 +22072,7 @@ 1 2 - 182798274 + 24948200 @@ -22387,7 +22088,7 @@ 1 2 - 182798274 + 24948200 @@ -22403,17 +22104,17 @@ 1 2 - 136351973 + 18609237 2 6 - 11204353 + 1529163 6 24 - 1446404 + 197404 @@ -22429,17 +22130,17 @@ 1 2 - 136351973 + 18609237 2 6 - 11223562 + 1531785 6 23 - 1427196 + 194782 @@ -22455,17 +22156,17 @@ 1 2 - 136426886 + 18619461 2 6 - 11279267 + 1539387 6 21 - 1296577 + 176956 @@ -22481,17 +22182,17 @@ 1 2 - 136351973 + 18609237 2 6 - 11204353 + 1529163 6 24 - 1446404 + 197404 @@ -22507,7 +22208,7 @@ 1 2 - 149002731 + 20335805 @@ -22523,62 +22224,62 @@ 1 2 - 149826 + 20448 2 3 - 78755 + 10748 3 4 - 44179 + 6029 4 5 - 24971 + 3408 5 6 - 42258 + 5767 6 8 - 51863 + 7078 8 11 - 59546 + 8126 11 22 - 55704 + 7602 23 38 - 57625 + 7864 38 79 - 57625 + 7864 81 168 - 55704 + 7602 168 74700 - 44179 + 6029 @@ -22594,62 +22295,62 @@ 1 2 - 149826 + 20448 2 3 - 78755 + 10748 3 4 - 44179 + 6029 4 5 - 24971 + 3408 5 6 - 42258 + 5767 6 8 - 51863 + 7078 8 11 - 65309 + 8913 11 25 - 61467 + 8389 25 39 - 59546 + 8126 43 91 - 57625 + 7864 91 227 - 55704 + 7602 227 74700 - 30733 + 4194 @@ -22665,42 +22366,42 @@ 1 2 - 303495 + 41420 2 3 - 113330 + 15467 3 4 - 48021 + 6553 4 5 - 51863 + 7078 5 9 - 59546 + 8126 9 21 - 55704 + 7602 22 64 - 59546 + 8126 68 2100 - 30733 + 4194 @@ -22716,37 +22417,37 @@ 1 2 - 284286 + 38799 2 3 - 134459 + 18351 3 4 - 69150 + 9437 4 5 - 76834 + 10486 5 7 - 46100 + 6291 7 10 - 57625 + 7864 10 21 - 53783 + 7340 @@ -22762,52 +22463,52 @@ 1 2 - 251632 + 34342 2 3 - 74913 + 10224 3 4 - 38417 + 5243 4 5 - 34575 + 4718 5 6 - 53783 + 7340 6 9 - 59546 + 8126 9 17 - 63388 + 8651 17 34 - 55704 + 7602 36 91 - 55704 + 7602 91 223 - 34575 + 4718 @@ -22823,37 +22524,37 @@ 1 2 - 6308091 + 860924 2 3 - 1707641 + 233057 3 5 - 885514 + 120854 5 31 - 870147 + 118757 31 91 - 908564 + 124000 91 1111 - 866306 + 118232 3397 3398 - 1920 + 262 @@ -22869,32 +22570,32 @@ 1 2 - 6434868 + 878227 2 3 - 1626965 + 222047 3 5 - 897039 + 122427 5 33 - 910485 + 124262 33 93 - 891277 + 121640 93 3398 - 787551 + 107484 @@ -22910,17 +22611,17 @@ 1 2 - 10480191 + 1430330 2 4 - 929694 + 126884 4 53 - 138301 + 18875 @@ -22936,17 +22637,17 @@ 1 2 - 9563942 + 1305281 2 3 - 1396462 + 190588 3 20 - 587781 + 80220 @@ -22962,32 +22663,32 @@ 1 2 - 7433713 + 1014548 2 3 - 1252398 + 170926 3 10 - 897039 + 122427 10 83 - 877831 + 119805 83 99 - 881672 + 120330 99 182 - 205531 + 28050 @@ -23003,62 +22704,62 @@ 1 6 - 3841 + 524 12 14 - 3841 + 524 17 26 - 3841 + 524 39 56 - 3841 + 524 83 110 - 3841 + 524 153 232 - 3841 + 524 316 400 - 3841 + 524 468 545 - 3841 + 524 626 754 - 3841 + 524 951 1491 - 3841 + 524 4718 6587 - 3841 + 524 77571 77572 - 1920 + 262 @@ -23074,62 +22775,62 @@ 1 6 - 3841 + 524 12 14 - 3841 + 524 17 26 - 3841 + 524 39 56 - 3841 + 524 83 110 - 3841 + 524 153 232 - 3841 + 524 316 400 - 3841 + 524 468 545 - 3841 + 524 626 754 - 3841 + 524 951 1491 - 3841 + 524 4718 6587 - 3841 + 524 77571 77572 - 1920 + 262 @@ -23145,62 +22846,62 @@ 1 4 - 3841 + 524 7 10 - 3841 + 524 11 17 - 3841 + 524 18 23 - 3841 + 524 26 38 - 3841 + 524 39 49 - 3841 + 524 57 67 - 3841 + 524 72 79 - 3841 + 524 95 101 - 3841 + 524 105 106 - 3841 + 524 106 132 - 3841 + 524 140 141 - 1920 + 262 @@ -23216,62 +22917,62 @@ 1 5 - 3841 + 524 7 10 - 3841 + 524 11 18 - 3841 + 524 22 32 - 3841 + 524 46 63 - 3841 + 524 85 119 - 3841 + 524 142 185 - 3841 + 524 212 228 - 3841 + 524 253 275 - 3841 + 524 307 423 - 3841 + 524 580 1324 - 3841 + 524 3579 3580 - 1920 + 262 @@ -23287,62 +22988,62 @@ 1 6 - 3841 + 524 7 8 - 3841 + 524 10 19 - 3841 + 524 23 36 - 3841 + 524 45 59 - 3841 + 524 73 97 - 3841 + 524 115 131 - 3841 + 524 140 148 - 3841 + 524 168 181 - 3841 + 524 248 363 - 3841 + 524 473 530 - 3841 + 524 587 588 - 1920 + 262 @@ -23358,72 +23059,72 @@ 1 3 - 84517 + 11534 3 5 - 86438 + 11797 5 6 - 51863 + 7078 6 7 - 86438 + 11797 7 8 - 72992 + 9961 8 10 - 82596 + 11272 10 15 - 92201 + 12583 15 27 - 86438 + 11797 27 41 - 86438 + 11797 41 65 - 86438 + 11797 65 157 - 92201 + 12583 162 817 - 86438 + 11797 818 832 - 94121 + 12845 832 1187 - 38417 + 5243 @@ -23439,52 +23140,52 @@ 1 2 - 128697 + 17564 2 3 - 265078 + 36177 3 4 - 159431 + 21759 4 5 - 109488 + 14942 5 8 - 101805 + 13894 8 14 - 86438 + 11797 14 295 - 86438 + 11797 330 775 - 71071 + 9699 776 778 - 92201 + 12583 787 888 - 26891 + 3670 @@ -23500,62 +23201,62 @@ 1 2 - 71071 + 9699 2 3 - 92201 + 12583 3 4 - 71071 + 9699 4 5 - 94121 + 12845 5 6 - 170956 + 23332 6 7 - 161351 + 22021 7 8 - 71071 + 9699 8 12 - 86438 + 11797 12 18 - 97963 + 13370 18 24 - 96042 + 13107 24 37 - 88359 + 12059 37 55 - 26891 + 3670 @@ -23571,67 +23272,67 @@ 1 3 - 97963 + 13370 3 4 - 55704 + 7602 4 5 - 103726 + 14156 5 6 - 124855 + 17040 6 8 - 88359 + 12059 8 12 - 99884 + 13632 12 19 - 86438 + 11797 19 27 - 97963 + 13370 27 41 - 86438 + 11797 42 170 - 86438 + 11797 205 780 - 80675 + 11010 781 783 - 92201 + 12583 791 893 - 26891 + 3670 @@ -23647,47 +23348,47 @@ 1 2 - 111409 + 15205 2 3 - 107567 + 14680 3 4 - 213215 + 29099 4 5 - 218977 + 29885 5 6 - 130618 + 17826 6 10 - 96042 + 13107 10 12 - 65309 + 8913 12 15 - 97963 + 13370 15 24 - 86438 + 11797 @@ -23697,23 +23398,23 @@ xmlNs - 1811367 + 247214 id - 11525 + 1572 prefixName - 13445 + 1835 URI - 11525 + 1572 fileid - 1054550 + 143924 @@ -23727,12 +23428,12 @@ 1 2 - 9604 + 1310 2 3 - 1920 + 262 @@ -23748,7 +23449,7 @@ 1 2 - 11525 + 1572 @@ -23764,32 +23465,32 @@ 2 3 - 1920 + 262 20 21 - 1920 + 262 88 89 - 1920 + 262 167 168 - 1920 + 262 213 214 - 1920 + 262 453 454 - 1920 + 262 @@ -23805,7 +23506,7 @@ 1 2 - 13445 + 1835 @@ -23821,7 +23522,7 @@ 1 2 - 13445 + 1835 @@ -23837,37 +23538,37 @@ 1 2 - 1920 + 262 2 3 - 1920 + 262 20 21 - 1920 + 262 88 89 - 1920 + 262 166 167 - 1920 + 262 213 214 - 1920 + 262 453 454 - 1920 + 262 @@ -23883,7 +23584,7 @@ 1 2 - 11525 + 1572 @@ -23899,12 +23600,12 @@ 1 2 - 9604 + 1310 2 3 - 1920 + 262 @@ -23920,32 +23621,32 @@ 2 3 - 1920 + 262 20 21 - 1920 + 262 88 89 - 1920 + 262 167 168 - 1920 + 262 213 214 - 1920 + 262 453 454 - 1920 + 262 @@ -23961,17 +23662,17 @@ 1 2 - 470609 + 64228 2 3 - 411063 + 56101 3 4 - 172877 + 23594 @@ -23987,17 +23688,17 @@ 1 2 - 470609 + 64228 2 3 - 411063 + 56101 3 4 - 172877 + 23594 @@ -24013,17 +23714,17 @@ 1 2 - 470609 + 64228 2 3 - 411063 + 56101 3 4 - 172877 + 23594 @@ -24033,19 +23734,19 @@ xmlHasNs - 36540446 + 4987018 elementId - 36540446 + 4987018 nsId - 11525 + 1572 fileid - 1048787 + 143137 @@ -24059,7 +23760,7 @@ 1 2 - 36540446 + 4987018 @@ -24075,7 +23776,7 @@ 1 2 - 36540446 + 4987018 @@ -24091,32 +23792,32 @@ 13 14 - 1920 + 262 84 85 - 1920 + 262 2426 2427 - 1920 + 262 2733 2734 - 1920 + 262 3704 3705 - 1920 + 262 10063 10064 - 1920 + 262 @@ -24132,32 +23833,32 @@ 2 3 - 1920 + 262 20 21 - 1920 + 262 86 87 - 1920 + 262 164 165 - 1920 + 262 209 210 - 1920 + 262 453 454 - 1920 + 262 @@ -24173,77 +23874,77 @@ 1 3 - 63388 + 8651 3 5 - 88359 + 12059 5 6 - 48021 + 6553 6 7 - 92201 + 12583 7 8 - 69150 + 9437 8 10 - 86438 + 11797 10 15 - 92201 + 12583 15 25 - 78755 + 10748 25 36 - 80675 + 11010 36 49 - 82596 + 11272 49 54 - 21129 + 2883 54 55 - 82596 + 11272 55 81 - 80675 + 11010 81 298 - 78755 + 10748 298 833 - 3841 + 524 @@ -24259,17 +23960,17 @@ 1 2 - 472530 + 64490 2 3 - 407221 + 55577 3 4 - 169035 + 23069 @@ -24279,23 +23980,23 @@ xmlComments - 151257816 + 20643577 id - 151257816 + 20643577 text - 2387624 + 325861 parentid - 1185168 + 161751 fileid - 1108333 + 151264 @@ -24309,7 +24010,7 @@ 1 2 - 151257816 + 20643577 @@ -24325,7 +24026,7 @@ 1 2 - 151257816 + 20643577 @@ -24341,7 +24042,7 @@ 1 2 - 151257816 + 20643577 @@ -24357,67 +24058,67 @@ 1 2 - 328466 + 44828 2 7 - 195927 + 26740 7 32 - 197848 + 27002 32 61 - 180560 + 24642 61 76 - 180560 + 24642 76 84 - 192085 + 26215 84 90 - 176718 + 24118 90 94 - 157510 + 21496 94 95 - 84517 + 11534 95 96 - 142143 + 19399 96 98 - 197848 + 27002 98 100 - 178639 + 24380 100 460 - 174797 + 23856 @@ -24433,67 +24134,67 @@ 1 2 - 332308 + 45353 2 6 - 190164 + 25953 6 32 - 201689 + 27526 32 61 - 182481 + 24904 61 75 - 186323 + 25429 75 84 - 209373 + 28575 84 90 - 172877 + 23594 90 94 - 169035 + 23069 94 95 - 94121 + 12845 95 96 - 145985 + 19923 96 98 - 201689 + 27526 98 100 - 190164 + 25953 100 460 - 111409 + 15205 @@ -24509,67 +24210,67 @@ 1 2 - 347674 + 47450 2 7 - 188243 + 25691 7 32 - 188243 + 25691 32 61 - 182481 + 24904 61 75 - 186323 + 25429 75 84 - 209373 + 28575 84 90 - 172877 + 23594 90 94 - 169035 + 23069 94 95 - 94121 + 12845 95 96 - 145985 + 19923 96 98 - 201689 + 27526 98 100 - 190164 + 25953 100 460 - 111409 + 15205 @@ -24585,22 +24286,22 @@ 1 2 - 943140 + 128719 2 724 - 90280 + 12321 726 830 - 109488 + 14942 831 941 - 42258 + 5767 @@ -24616,27 +24317,27 @@ 1 2 - 943140 + 128719 2 697 - 90280 + 12321 697 795 - 48021 + 6553 795 827 - 90280 + 12321 838 899 - 13445 + 1835 @@ -24652,7 +24353,7 @@ 1 2 - 1185168 + 161751 @@ -24668,27 +24369,27 @@ 1 2 - 847097 + 115611 2 549 - 84517 + 11534 579 829 - 57625 + 7864 829 832 - 92201 + 12583 834 941 - 26891 + 3670 @@ -24704,27 +24405,27 @@ 1 2 - 847097 + 115611 2 536 - 84517 + 11534 560 795 - 72992 + 9961 795 812 - 84517 + 11534 819 899 - 19208 + 2621 @@ -24740,12 +24441,12 @@ 1 2 - 1052629 + 143662 2 6 - 55704 + 7602 @@ -24755,31 +24456,31 @@ xmlChars - 142938589 + 19508174 id - 142938589 + 19508174 text - 109773086 + 14981766 parentid - 142938589 + 19508174 idx - 1920 + 262 isCDATA - 3841 + 524 fileid - 249711 + 34080 @@ -24793,7 +24494,7 @@ 1 2 - 142938589 + 19508174 @@ -24809,7 +24510,7 @@ 1 2 - 142938589 + 19508174 @@ -24825,7 +24526,7 @@ 1 2 - 142938589 + 19508174 @@ -24841,7 +24542,7 @@ 1 2 - 142938589 + 19508174 @@ -24857,7 +24558,7 @@ 1 2 - 142938589 + 19508174 @@ -24873,17 +24574,17 @@ 1 2 - 93927944 + 12819230 2 3 - 9865517 + 1346439 3 128 - 5979625 + 816095 @@ -24899,17 +24600,17 @@ 1 2 - 93927944 + 12819230 2 3 - 9865517 + 1346439 3 128 - 5979625 + 816095 @@ -24925,7 +24626,7 @@ 1 2 - 109773086 + 14981766 @@ -24941,7 +24642,7 @@ 1 2 - 109773086 + 14981766 @@ -24957,12 +24658,12 @@ 1 2 - 105030493 + 14334499 2 76 - 4742593 + 647266 @@ -24978,7 +24679,7 @@ 1 2 - 142938589 + 19508174 @@ -24994,7 +24695,7 @@ 1 2 - 142938589 + 19508174 @@ -25010,7 +24711,7 @@ 1 2 - 142938589 + 19508174 @@ -25026,7 +24727,7 @@ 1 2 - 142938589 + 19508174 @@ -25042,7 +24743,7 @@ 1 2 - 142938589 + 19508174 @@ -25058,7 +24759,7 @@ 74414 74415 - 1920 + 262 @@ -25074,7 +24775,7 @@ 57148 57149 - 1920 + 262 @@ -25090,7 +24791,7 @@ 74414 74415 - 1920 + 262 @@ -25106,7 +24807,7 @@ 2 3 - 1920 + 262 @@ -25122,7 +24823,7 @@ 130 131 - 1920 + 262 @@ -25138,12 +24839,12 @@ 518 519 - 1920 + 262 73896 73897 - 1920 + 262 @@ -25159,12 +24860,12 @@ 492 493 - 1920 + 262 56656 56657 - 1920 + 262 @@ -25180,12 +24881,12 @@ 518 519 - 1920 + 262 73896 73897 - 1920 + 262 @@ -25201,7 +24902,7 @@ 1 2 - 3841 + 524 @@ -25217,12 +24918,12 @@ 98 99 - 1920 + 262 130 131 - 1920 + 262 @@ -25238,57 +24939,57 @@ 1 2 - 21129 + 2883 2 23 - 19208 + 2621 24 243 - 19208 + 2621 294 566 - 19208 + 2621 610 686 - 19208 + 2621 691 764 - 19208 + 2621 765 775 - 19208 + 2621 775 776 - 5762 + 786 776 777 - 69150 + 9437 777 803 - 19208 + 2621 807 888 - 19208 + 2621 @@ -25304,67 +25005,67 @@ 1 2 - 21129 + 2883 2 21 - 19208 + 2621 22 188 - 19208 + 2621 208 492 - 19208 + 2621 525 589 - 19208 + 2621 590 638 - 19208 + 2621 639 651 - 19208 + 2621 652 656 - 17287 + 2359 656 659 - 23050 + 3145 659 663 - 21129 + 2883 663 667 - 19208 + 2621 667 701 - 19208 + 2621 702 744 - 13445 + 1835 @@ -25380,57 +25081,57 @@ 1 2 - 21129 + 2883 2 23 - 19208 + 2621 24 243 - 19208 + 2621 294 566 - 19208 + 2621 610 686 - 19208 + 2621 691 764 - 19208 + 2621 765 775 - 19208 + 2621 775 776 - 5762 + 786 776 777 - 69150 + 9437 777 803 - 19208 + 2621 807 888 - 19208 + 2621 @@ -25446,7 +25147,7 @@ 1 2 - 249711 + 34080 @@ -25462,12 +25163,12 @@ 1 2 - 61467 + 8389 2 3 - 188243 + 25691 @@ -25477,15 +25178,15 @@ xmllocations - 630217533 + 86011718 xmlElement - 628417691 + 85766076 location - 590551854 + 80598169 @@ -25499,12 +25200,12 @@ 1 2 - 628406166 + 85764503 2 454 - 11525 + 1572 @@ -25520,12 +25221,12 @@ 1 2 - 577165407 + 78771195 2 25 - 13386446 + 1826974 @@ -25766,19 +25467,19 @@ ktComments - 188243 + 74439 id - 188243 + 74439 kind - 5762 + 37 text - 136380 + 51562 @@ -25792,7 +25493,7 @@ 1 2 - 188243 + 74439 @@ -25808,7 +25509,7 @@ 1 2 - 188243 + 74439 @@ -25822,19 +25523,19 @@ 12 - 16 - 17 - 1920 + 1196 + 1197 + 12 - 22 - 23 - 1920 + 1284 + 1285 + 12 - 60 - 61 - 1920 + 3517 + 3518 + 12 @@ -25848,19 +25549,19 @@ 12 - 1 - 2 - 1920 + 17 + 18 + 12 - 16 - 17 - 1920 + 1073 + 1074 + 12 - 54 - 55 - 1920 + 3064 + 3065 + 12 @@ -25876,12 +25577,17 @@ 1 2 - 130618 + 46101 - 4 - 23 - 5762 + 2 + 3 + 4232 + + + 3 + 572 + 1228 @@ -25897,7 +25603,7 @@ 1 2 - 136380 + 51562 @@ -25907,19 +25613,19 @@ ktCommentSections - 52611 + 47690 id - 52611 + 47690 comment - 48161 + 43655 content - 44765 + 40577 @@ -25933,7 +25639,7 @@ 1 2 - 52611 + 47690 @@ -25949,7 +25655,7 @@ 1 2 - 52611 + 47690 @@ -25965,12 +25671,12 @@ 1 2 - 46367 + 42029 2 18 - 1793 + 1626 @@ -25986,12 +25692,12 @@ 1 2 - 46367 + 42029 2 18 - 1793 + 1626 @@ -26007,17 +25713,17 @@ 1 2 - 39616 + 35910 2 3 - 4313 + 3910 3 63 - 835 + 757 @@ -26033,17 +25739,17 @@ 1 2 - 39712 + 35997 2 3 - 4231 + 3835 3 56 - 821 + 744 @@ -26053,15 +25759,15 @@ ktCommentSectionNames - 4450 + 4034 id - 4450 + 4034 name - 13 + 12 @@ -26075,7 +25781,7 @@ 1 2 - 4450 + 4034 @@ -26091,7 +25797,7 @@ 325 326 - 13 + 12 @@ -26101,15 +25807,15 @@ ktCommentSectionSubjectNames - 4450 + 4034 id - 4450 + 4034 subjectname - 2916 + 2643 @@ -26123,7 +25829,7 @@ 1 2 - 4450 + 4034 @@ -26139,22 +25845,22 @@ 1 2 - 2218 + 2010 2 3 - 438 + 397 3 9 - 219 + 198 10 16 - 41 + 37 @@ -26164,15 +25870,15 @@ ktCommentOwners - 75329 + 68171 id - 47914 + 43432 owner - 73508 + 66520 @@ -26186,22 +25892,22 @@ 1 2 - 30838 + 28065 2 3 - 10872 + 9744 3 4 - 4025 + 3649 4 6 - 2177 + 1973 @@ -26217,12 +25923,12 @@ 1 2 - 71701 + 64881 2 4 - 1807 + 1638 @@ -26232,19 +25938,19 @@ ktExtensionFunctions - 1206297 + 166732 id - 1206297 + 166732 typeid - 97963 + 13632 kttypeid - 1920 + 262 @@ -26258,7 +25964,7 @@ 1 2 - 1206297 + 166732 @@ -26274,7 +25980,7 @@ 1 2 - 1206297 + 166732 @@ -26290,37 +25996,37 @@ 1 2 - 55704 + 7864 2 3 - 5762 + 524 3 4 - 3841 + 786 5 6 - 13445 + 1310 - 7 - 16 - 7683 + 6 + 13 + 1048 - 20 - 87 - 7683 + 13 + 30 + 1048 - 109 + 35 227 - 3841 + 1048 @@ -26336,7 +26042,7 @@ 1 2 - 97963 + 13632 @@ -26350,9 +26056,9 @@ 12 - 628 - 629 - 1920 + 636 + 637 + 262 @@ -26366,9 +26072,9 @@ 12 - 51 - 52 - 1920 + 52 + 53 + 262 @@ -26378,15 +26084,15 @@ ktProperties - 21895839 + 2989117 id - 21895839 + 2989117 nodeName - 13542035 + 1848733 @@ -26400,7 +26106,7 @@ 1 2 - 21895839 + 2989117 @@ -26416,17 +26122,17 @@ 1 2 - 11824790 + 1614626 2 4 - 1142909 + 155721 4 352 - 574335 + 78385 @@ -26436,15 +26142,15 @@ ktPropertyGetters - 5985387 + 816357 id - 5985387 + 816357 getter - 5985387 + 816357 @@ -26458,7 +26164,7 @@ 1 2 - 5985387 + 816357 @@ -26474,7 +26180,7 @@ 1 2 - 5985387 + 816357 @@ -26484,15 +26190,15 @@ ktPropertySetters - 366883 + 53073 id - 366883 + 53073 setter - 366883 + 53073 @@ -26506,7 +26212,7 @@ 1 2 - 366883 + 53073 @@ -26522,7 +26228,7 @@ 1 2 - 366883 + 53073 @@ -26532,15 +26238,15 @@ ktPropertyBackingFields - 14423708 + 2459964 id - 14423708 + 2459964 backingField - 14423708 + 2459964 @@ -26554,7 +26260,7 @@ 1 2 - 14423708 + 2459964 @@ -26570,7 +26276,7 @@ 1 2 - 14423708 + 2459964 @@ -26580,15 +26286,15 @@ ktSyntheticBody - 9108 + 1497 id - 9108 + 1497 kind - 1821 + 124 @@ -26602,7 +26308,7 @@ 1 2 - 9108 + 1497 @@ -26616,9 +26322,9 @@ 12 - 5 - 6 - 1821 + 12 + 13 + 124 @@ -26628,37 +26334,37 @@ ktLocalFunction - 3841 + 1573 id - 3841 + 1573 ktInitializerAssignment - 199475 + 69820 id - 199475 + 69820 ktPropertyDelegates - 5201 + 4944 id - 5201 + 4944 variableId - 5201 + 4944 @@ -26672,7 +26378,7 @@ 1 2 - 5201 + 4944 @@ -26688,7 +26394,7 @@ 1 2 - 5201 + 4944 @@ -26698,15 +26404,15 @@ compiler_generated - 1467534 + 268390 id - 1467534 + 268390 kind - 13445 + 148 @@ -26720,7 +26426,7 @@ 1 2 - 1467534 + 268390 @@ -26734,39 +26440,59 @@ 12 - 1 - 2 - 1920 + 61 + 62 + 12 - 8 - 9 - 1920 + 84 + 85 + 24 - 38 - 39 - 1920 + 94 + 95 + 12 - 81 - 82 - 1920 + 143 + 144 + 12 - 85 - 86 - 1920 + 186 + 187 + 12 - 236 - 237 - 1920 + 203 + 204 + 12 - 315 - 316 - 1920 + 737 + 738 + 12 + + + 1028 + 1029 + 12 + + + 1275 + 1276 + 12 + + + 5140 + 5141 + 12 + + + 12589 + 12590 + 12 @@ -26776,15 +26502,15 @@ ktFunctionOriginalNames - 1586627 + 216279 id - 1586627 + 216279 name - 186323 + 25167 @@ -26798,7 +26524,7 @@ 1 2 - 1586627 + 216279 @@ -26814,22 +26540,22 @@ 1 2 - 147905 + 19923 2 4 - 13445 + 1835 6 16 - 15366 + 2097 22 339 - 9604 + 1310 @@ -26839,11 +26565,11 @@ ktDataClasses - 113330 + 15467 id - 113330 + 15467 From 62d10f91d8c0d887907fd7c6eb2fc3123426a238 Mon Sep 17 00:00:00 2001 From: Chris Smowton Date: Wed, 8 Feb 2023 16:43:27 +0000 Subject: [PATCH 6/6] Improve join ordering --- java/ql/lib/semmle/code/java/Member.qll | 19 +++++++++++----- .../semmle/code/java/dataflow/TypeFlow.qll | 11 +++++++--- .../java/dispatch/internal/Unification.qll | 22 ++++++++++++++----- 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/java/ql/lib/semmle/code/java/Member.qll b/java/ql/lib/semmle/code/java/Member.qll index e14b1d1c981..00c9648c9a4 100644 --- a/java/ql/lib/semmle/code/java/Member.qll +++ b/java/ql/lib/semmle/code/java/Member.qll @@ -397,14 +397,21 @@ private predicate potentialInterfaceImplementationWithSignature(string sig, RefT not t.isAbstract() } -pragma[nomagic] -private predicate implementsInterfaceMethod(SrcMethod impl, SrcMethod m) { - exists(RefType t, Interface i, Method minst, Method implinst | - m = minst.getSourceDeclaration() and +pragma[noinline] +private predicate isInterfaceSourceImplementation(Method minst, RefType t) { + exists(Interface i | i = minst.getDeclaringType() and t.extendsOrImplements+(i) and - t.isSourceDeclaration() and + t.isSourceDeclaration() + ) +} + +pragma[nomagic] +private predicate implementsInterfaceMethod(SrcMethod impl, SrcMethod m) { + exists(RefType t, Method minst, Method implinst | + isInterfaceSourceImplementation(minst, t) and potentialInterfaceImplementationWithSignature(minst.getSignature(), t, implinst) and + m = minst.getSourceDeclaration() and impl = implinst.getSourceDeclaration() ) } @@ -542,7 +549,7 @@ class Method extends Callable, @method { /** A method that is the same as its source declaration. */ class SrcMethod extends Method { - SrcMethod() { methods(_, _, _, _, _, this) } + SrcMethod() { methods(this, _, _, _, _, this) } /** * All the methods that could possibly be called when this method diff --git a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll index 1c76f554020..8bac5eefd6b 100644 --- a/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll @@ -681,9 +681,14 @@ private predicate unionTypeFlow0(TypeFlowNode n, RefType t, boolean exact) { private predicate unionTypeFlow(TypeFlowNode n, RefType t, boolean exact) { unionTypeFlow0(n, t, exact) and // filter impossible union parts: - if exact = true - then t.getErasure().(RefType).getASourceSupertype*() = getTypeBound(n).getErasure() - else haveIntersection(getTypeBound(n), t) + exists(RefType tErased, RefType boundErased | + pragma[only_bind_into](tErased) = t.getErasure() and + pragma[only_bind_into](boundErased) = getTypeBound(n).getErasure() + | + if exact = true + then tErased.getASourceSupertype*() = boundErased + else erasedHaveIntersection(tErased, boundErased) + ) } /** diff --git a/java/ql/lib/semmle/code/java/dispatch/internal/Unification.qll b/java/ql/lib/semmle/code/java/dispatch/internal/Unification.qll index 46bcc3a2201..6c92f7298d9 100644 --- a/java/ql/lib/semmle/code/java/dispatch/internal/Unification.qll +++ b/java/ql/lib/semmle/code/java/dispatch/internal/Unification.qll @@ -22,6 +22,17 @@ module MkUnification