mirror of
https://github.com/github/codeql.git
synced 2026-07-09 05:25:32 +02:00
kotlin-extractor: PSI-backed source locations for expression-level nodes
K1 and K2 IR backends compute source locations differently. K1 uses the IR node's synthetic startOffset/endOffset, while K2 reconstructs source positions from PSI. For expression-level nodes this causes location differences across the two language modes. Introduce PSI-backed location lookup as the preferred source for spans wherever PSI is available: getPsiBasedLocation(element) ?: tw.getLocation(element) getPsiBasedLocation() resolves the PSI element for the IR node via psi2Ir.findPsiElement() and builds a location from its startOffset..endOffset. currentIrFile is tracked in extractFileContents so the PSI lookup has the file context it needs. Applied to expression-level nodes (both K1 and K2 modes): - local variable declarations (extractVariable, extractVariableExpr) - IrLocalDelegatedProperty blocks - IrWhen expressions and when-branches - IrGetValue (varaccess) expressions - IrFunctionExpression (lambda) nodes - Block statements (extractBlock) - this/super access expressions (extractThisAccess) - String literals Declaration-level nodes (class, function, property) are guarded with if (usesK2) to avoid a regression in K1 mode where the PSI lookup causes parameterised type instantiations to appear as fromSource(), inflating generic-type query results. The K1 IR frontend does not map all declaration nodes cleanly to source PSI elements; for these nodes we keep the original IR-based location in K1 mode. Expected output changes (both suites): - controlflow/basic/bbStmts, bbStrictDominance, bbSuccessor, getASuccessor, strictDominance: when-branch and varaccess location improvements - java-kotlin-collection-type-generic-methods/test: new stdlib entries from JDK update (AbstractCollection<Runnable> methods) - annotation_classes/PrintAst: variable access location improvement in K1 - classes/genericExprTypes: location improvement in K1 - compilation-units/cus: removed two internal JDK inner-class entries (stdlib version change) - reflection/reflection: removed a few external-class entries (stdlib version) Verified: all 285 tests pass for both test-kotlin1 (kotlinc 2.3.20 / K1) and test-kotlin2 (kotlinc 2.4.0 / K2). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -72,7 +72,7 @@ def.kt:
|
||||
# 57| 0: [AssignExpr] ...=...
|
||||
# 57| 0: [VarAccess] DefKt.p
|
||||
# 57| -1: [TypeAccess] DefKt
|
||||
# 57| 1: [VarAccess] <set-?>
|
||||
# 53| 1: [VarAccess] <set-?>
|
||||
# 59| 6: [ExtensionMethod] myExtension
|
||||
# 59| 3: [TypeAccess] Unit
|
||||
#-----| 4: (Parameters)
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
| generic_anonymous.kt:3:3:5:3 | ...=... | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:3:5:3 | T | T |
|
||||
| generic_anonymous.kt:3:3:5:3 | new Object(...) { ... } | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:3:5:3 | this | Generic |
|
||||
| generic_anonymous.kt:3:3:5:3 | x | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:11:5:3 | T | T |
|
||||
| generic_anonymous.kt:3:11:5:3 | new Object(...) { ... } | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:11:5:3 | this | Generic |
|
||||
| generic_anonymous.kt:3:11:5:3 | this.x | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:19:5:3 | <Stmt> | new Object(...) { ... } |
|
||||
| generic_anonymous.kt:3:19:5:3 | Object | Object |
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
| AbstractList$RandomAccessSpliterator | .../AbstractList$RandomAccessSpliterator.class:0:0:0:0 |
|
||||
| ArrayList | .../ArrayList.class:0:0:0:0 |
|
||||
| ArrayList$ArrayListSpliterator | .../ArrayList$ArrayListSpliterator.class:0:0:0:0 |
|
||||
| CleanerImpl$CleanableList | .../CleanerImpl$CleanableList.class:0:0:0:0 |
|
||||
| CleanerImpl$CleanableList$Node | .../CleanerImpl$CleanableList$Node.class:0:0:0:0 |
|
||||
| List | .../List.class:0:0:0:0 |
|
||||
| ListIterator | .../ListIterator.class:0:0:0:0 |
|
||||
| MemorySessionImpl$ResourceList | .../MemorySessionImpl$ResourceList.class:0:0:0:0 |
|
||||
|
||||
@@ -315,7 +315,7 @@
|
||||
| Test.kt:105:5:109:5 | After when ... | 2 | Test.kt:100:25:110:1 | After { ... } |
|
||||
| Test.kt:105:5:109:5 | After when ... | 3 | Test.kt:100:1:110:1 | Normal Exit |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 0 | Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 1 | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 1 | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 2 | Test.kt:107:16:107:24 | Before ... (value not-equals) ... |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 3 | Test.kt:107:16:107:16 | y |
|
||||
| Test.kt:105:9:105:17 | After ... (value not-equals) ... [false] | 4 | Test.kt:107:21:107:24 | null |
|
||||
|
||||
@@ -49,14 +49,14 @@
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:101:33:103:5 | { ... } |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:5:109:5 | <Expr>; |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:101:22:101:22 | y | Test.kt:101:33:103:5 | { ... } |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:100:1:110:1 | Normal Exit |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:112:1:116:1 | Normal Exit |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:17:115:5 | { ... } |
|
||||
|
||||
@@ -39,11 +39,11 @@
|
||||
| Test.kt:101:22:101:30 | After ... (value equals) ... [false] | Test.kt:105:5:109:5 | <Expr>; |
|
||||
| Test.kt:101:33:103:5 | { ... } | Test.kt:100:1:110:1 | Exit |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:105:20:107:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | Test.kt:107:16:107:24 | After ... (value not-equals) ... [false] |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:16:107:24 | After ... (value not-equals) ... [false] | Test.kt:100:1:110:1 | Normal Exit |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:16:107:24 | After ... (value not-equals) ... [false] |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:27:109:5 | { ... } | Test.kt:100:1:110:1 | Normal Exit |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:9:113:9 | After x [false] |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:14:113:14 | y |
|
||||
|
||||
@@ -184,17 +184,17 @@
|
||||
| Test.kt:105:5:109:5 | when ... | WhenExpr | Test.kt:105:9:107:5 | ... -> ... | WhenBranch |
|
||||
| Test.kt:105:9:105:9 | x | VarAccess | Test.kt:105:14:105:17 | null | NullLiteral |
|
||||
| Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr | Test.kt:105:20:107:5 | { ... } | BlockStmt |
|
||||
| Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr | Test.kt:107:16:109:5 | ... -> ... | WhenBranch |
|
||||
| Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr | Test.kt:107:12:109:5 | ... -> ... | WhenBranch |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | WhenBranch | Test.kt:105:9:105:9 | x | VarAccess |
|
||||
| Test.kt:105:14:105:17 | null | NullLiteral | Test.kt:105:9:105:17 | ... (value not-equals) ... | ValueNEExpr |
|
||||
| Test.kt:105:20:107:5 | { ... } | BlockStmt | Test.kt:106:9:106:29 | <Expr>; | ExprStmt |
|
||||
| Test.kt:106:9:106:29 | <Expr>; | ExprStmt | Test.kt:106:17:106:28 | "x not null" | StringLiteral |
|
||||
| Test.kt:106:9:106:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method |
|
||||
| Test.kt:106:17:106:28 | "x not null" | StringLiteral | Test.kt:106:9:106:29 | println(...) | MethodCall |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | WhenBranch | Test.kt:107:16:107:16 | y | VarAccess |
|
||||
| Test.kt:107:16:107:16 | y | VarAccess | Test.kt:107:21:107:24 | null | NullLiteral |
|
||||
| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:100:1:110:1 | Normal Exit | Method |
|
||||
| Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr | Test.kt:107:27:109:5 | { ... } | BlockStmt |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | WhenBranch | Test.kt:107:16:107:16 | y | VarAccess |
|
||||
| Test.kt:107:21:107:24 | null | NullLiteral | Test.kt:107:16:107:24 | ... (value not-equals) ... | ValueNEExpr |
|
||||
| Test.kt:107:27:109:5 | { ... } | BlockStmt | Test.kt:108:9:108:29 | <Expr>; | ExprStmt |
|
||||
| Test.kt:108:9:108:29 | <Expr>; | ExprStmt | Test.kt:108:17:108:28 | "y not null" | StringLiteral |
|
||||
|
||||
@@ -496,7 +496,7 @@
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:9:107:5 | ... -> ... |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:100:25:110:1 | { ... } | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:101:33:103:5 | { ... } |
|
||||
@@ -505,7 +505,7 @@
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:105:9:107:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:101:5:103:5 | ... -> ... |
|
||||
@@ -515,24 +515,24 @@
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:105:9:107:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:101:33:103:5 | { ... } | Test.kt:102:9:102:25 | throw ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:9:107:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:105:5:109:5 | <Expr>; | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:105:20:107:5 | { ... } |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:107:16:109:5 | ... -> ... |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:107:12:109:5 | ... -> ... |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:105:9:107:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:105:20:107:5 | { ... } | Test.kt:106:9:106:29 | <Expr>; |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:16:109:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | Test.kt:107:27:109:5 | { ... } |
|
||||
| Test.kt:107:12:109:5 | ... -> ... | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:107:27:109:5 | { ... } | Test.kt:108:9:108:29 | <Expr>; |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | ... -> ... |
|
||||
| Test.kt:112:32:116:1 | { ... } | Test.kt:113:5:115:5 | <Expr>; |
|
||||
|
||||
@@ -16,6 +16,14 @@ methodWithDuplicate
|
||||
| AbstractCollection<E> | removeAll | Collection<?> |
|
||||
| AbstractCollection<E> | retainAll | Collection<?> |
|
||||
| AbstractCollection<E> | toArray | T[] |
|
||||
| AbstractCollection<Runnable> | add | Runnable |
|
||||
| AbstractCollection<Runnable> | addAll | Collection<? extends Runnable> |
|
||||
| AbstractCollection<Runnable> | contains | Object |
|
||||
| AbstractCollection<Runnable> | containsAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | remove | Object |
|
||||
| AbstractCollection<Runnable> | removeAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | retainAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | toArray | T[] |
|
||||
| AbstractCollection<String> | add | String |
|
||||
| AbstractCollection<String> | addAll | Collection<? extends String> |
|
||||
| AbstractCollection<String> | contains | Object |
|
||||
@@ -71,14 +79,14 @@ methodWithDuplicate
|
||||
| AbstractMap | put | V |
|
||||
| AbstractMap | putAll | Map<? extends K,? extends V> |
|
||||
| AbstractMap | remove | Object |
|
||||
| AbstractMap<Identity,Object> | containsKey | Object |
|
||||
| AbstractMap<Identity,Object> | containsValue | Object |
|
||||
| AbstractMap<Identity,Object> | equals | Object |
|
||||
| AbstractMap<Identity,Object> | get | Object |
|
||||
| AbstractMap<Identity,Object> | put | Identity |
|
||||
| AbstractMap<Identity,Object> | put | Object |
|
||||
| AbstractMap<Identity,Object> | putAll | Map<? extends Identity,? extends Object> |
|
||||
| AbstractMap<Identity,Object> | remove | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | containsKey | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | containsValue | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | equals | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | get | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | put | Entry<?> |
|
||||
| AbstractMap<Identity,Entry<?>> | put | Identity |
|
||||
| AbstractMap<Identity,Entry<?>> | putAll | Map<? extends Identity,? extends Entry<?>> |
|
||||
| AbstractMap<Identity,Entry<?>> | remove | Object |
|
||||
| AbstractMap<K,V> | containsKey | Object |
|
||||
| AbstractMap<K,V> | containsValue | Object |
|
||||
| AbstractMap<K,V> | equals | Object |
|
||||
@@ -147,6 +155,17 @@ methodWithDuplicate
|
||||
| Collection<K> | retainAll | Collection<?> |
|
||||
| Collection<K> | toArray | IntFunction<T[]> |
|
||||
| Collection<K> | toArray | T[] |
|
||||
| Collection<Runnable> | add | Runnable |
|
||||
| Collection<Runnable> | addAll | Collection<? extends Runnable> |
|
||||
| Collection<Runnable> | contains | Object |
|
||||
| Collection<Runnable> | containsAll | Collection<?> |
|
||||
| Collection<Runnable> | equals | Object |
|
||||
| Collection<Runnable> | remove | Object |
|
||||
| Collection<Runnable> | removeAll | Collection<?> |
|
||||
| Collection<Runnable> | removeIf | Predicate<? super Runnable> |
|
||||
| Collection<Runnable> | retainAll | Collection<?> |
|
||||
| Collection<Runnable> | toArray | IntFunction<T[]> |
|
||||
| Collection<Runnable> | toArray | T[] |
|
||||
| Collection<String> | add | String |
|
||||
| Collection<String> | addAll | Collection<? extends String> |
|
||||
| Collection<String> | contains | Object |
|
||||
@@ -196,8 +215,6 @@ methodWithDuplicate
|
||||
| List | listIterator | int |
|
||||
| List | of | E |
|
||||
| List | of | E[] |
|
||||
| List | ofLazy | IntFunction<? extends E> |
|
||||
| List | ofLazy | int |
|
||||
| List | remove | Object |
|
||||
| List | remove | int |
|
||||
| List | removeAll | Collection<?> |
|
||||
@@ -224,8 +241,6 @@ methodWithDuplicate
|
||||
| List<E> | listIterator | int |
|
||||
| List<E> | of | E |
|
||||
| List<E> | of | E[] |
|
||||
| List<E> | ofLazy | IntFunction<? extends E> |
|
||||
| List<E> | ofLazy | int |
|
||||
| List<E> | remove | Object |
|
||||
| List<E> | remove | int |
|
||||
| List<E> | removeAll | Collection<?> |
|
||||
@@ -252,8 +267,6 @@ methodWithDuplicate
|
||||
| List<String> | listIterator | int |
|
||||
| List<String> | of | E |
|
||||
| List<String> | of | E[] |
|
||||
| List<String> | ofLazy | IntFunction<? extends E> |
|
||||
| List<String> | ofLazy | int |
|
||||
| List<String> | remove | Object |
|
||||
| List<String> | remove | int |
|
||||
| List<String> | removeAll | Collection<?> |
|
||||
@@ -286,8 +299,6 @@ methodWithDuplicate
|
||||
| Map | of | K |
|
||||
| Map | of | V |
|
||||
| Map | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map | ofLazy | Function<? super K,? extends V> |
|
||||
| Map | ofLazy | Set<? extends K> |
|
||||
| Map | put | K |
|
||||
| Map | put | V |
|
||||
| Map | putAll | Map<? extends K,? extends V> |
|
||||
@@ -297,38 +308,37 @@ methodWithDuplicate
|
||||
| Map | replace | K |
|
||||
| Map | replace | V |
|
||||
| Map | replaceAll | BiFunction<? super K,? super V,? extends V> |
|
||||
| Map<Identity,Object> | compute | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | compute | Identity |
|
||||
| Map<Identity,Object> | computeIfAbsent | Function<? super Identity,? extends Object> |
|
||||
| Map<Identity,Object> | computeIfAbsent | Identity |
|
||||
| Map<Identity,Object> | computeIfPresent | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | computeIfPresent | Identity |
|
||||
| Map<Identity,Object> | containsKey | Object |
|
||||
| Map<Identity,Object> | containsValue | Object |
|
||||
| Map<Identity,Object> | copyOf | Map<? extends K,? extends V> |
|
||||
| Map<Identity,Object> | entry | K |
|
||||
| Map<Identity,Object> | entry | V |
|
||||
| Map<Identity,Object> | equals | Object |
|
||||
| Map<Identity,Object> | forEach | BiConsumer<? super Identity,? super Object> |
|
||||
| Map<Identity,Object> | get | Object |
|
||||
| Map<Identity,Object> | getOrDefault | Object |
|
||||
| Map<Identity,Object> | merge | BiFunction<? super Object,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | merge | Identity |
|
||||
| Map<Identity,Object> | merge | Object |
|
||||
| Map<Identity,Object> | of | K |
|
||||
| Map<Identity,Object> | of | V |
|
||||
| Map<Identity,Object> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Identity,Object> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<Identity,Object> | ofLazy | Set<? extends K> |
|
||||
| Map<Identity,Object> | put | Identity |
|
||||
| Map<Identity,Object> | put | Object |
|
||||
| Map<Identity,Object> | putAll | Map<? extends Identity,? extends Object> |
|
||||
| Map<Identity,Object> | putIfAbsent | Identity |
|
||||
| Map<Identity,Object> | putIfAbsent | Object |
|
||||
| Map<Identity,Object> | remove | Object |
|
||||
| Map<Identity,Object> | replace | Identity |
|
||||
| Map<Identity,Object> | replace | Object |
|
||||
| Map<Identity,Object> | replaceAll | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Entry<?>> | compute | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | compute | Identity |
|
||||
| Map<Identity,Entry<?>> | computeIfAbsent | Function<? super Identity,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | computeIfAbsent | Identity |
|
||||
| Map<Identity,Entry<?>> | computeIfPresent | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | computeIfPresent | Identity |
|
||||
| Map<Identity,Entry<?>> | containsKey | Object |
|
||||
| Map<Identity,Entry<?>> | containsValue | Object |
|
||||
| Map<Identity,Entry<?>> | copyOf | Map<? extends K,? extends V> |
|
||||
| Map<Identity,Entry<?>> | entry | K |
|
||||
| Map<Identity,Entry<?>> | entry | V |
|
||||
| Map<Identity,Entry<?>> | equals | Object |
|
||||
| Map<Identity,Entry<?>> | forEach | BiConsumer<? super Identity,? super Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | get | Object |
|
||||
| Map<Identity,Entry<?>> | getOrDefault | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | getOrDefault | Object |
|
||||
| Map<Identity,Entry<?>> | merge | BiFunction<? super Entry<?>,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | merge | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | merge | Identity |
|
||||
| Map<Identity,Entry<?>> | of | K |
|
||||
| Map<Identity,Entry<?>> | of | V |
|
||||
| Map<Identity,Entry<?>> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Identity,Entry<?>> | put | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | put | Identity |
|
||||
| Map<Identity,Entry<?>> | putAll | Map<? extends Identity,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | putIfAbsent | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | putIfAbsent | Identity |
|
||||
| Map<Identity,Entry<?>> | remove | Object |
|
||||
| Map<Identity,Entry<?>> | replace | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | replace | Identity |
|
||||
| Map<Identity,Entry<?>> | replaceAll | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<K,V> | compute | BiFunction<? super K,? super V,? extends V> |
|
||||
| Map<K,V> | compute | K |
|
||||
| Map<K,V> | computeIfAbsent | Function<? super K,? extends V> |
|
||||
@@ -351,8 +361,6 @@ methodWithDuplicate
|
||||
| Map<K,V> | of | K |
|
||||
| Map<K,V> | of | V |
|
||||
| Map<K,V> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<K,V> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<K,V> | ofLazy | Set<? extends K> |
|
||||
| Map<K,V> | put | K |
|
||||
| Map<K,V> | put | V |
|
||||
| Map<K,V> | putAll | Map<? extends K,? extends V> |
|
||||
@@ -382,8 +390,6 @@ methodWithDuplicate
|
||||
| Map<Object,Object> | of | K |
|
||||
| Map<Object,Object> | of | V |
|
||||
| Map<Object,Object> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Object,Object> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<Object,Object> | ofLazy | Set<? extends K> |
|
||||
| Map<Object,Object> | put | Object |
|
||||
| Map<Object,Object> | putAll | Map<? extends Object,? extends Object> |
|
||||
| Map<Object,Object> | putIfAbsent | Object |
|
||||
@@ -411,8 +417,6 @@ methodWithDuplicate
|
||||
| Map<String,String> | of | K |
|
||||
| Map<String,String> | of | V |
|
||||
| Map<String,String> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<String,String> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<String,String> | ofLazy | Set<? extends K> |
|
||||
| Map<String,String> | put | String |
|
||||
| Map<String,String> | putAll | Map<? extends String,? extends String> |
|
||||
| Map<String,String> | putIfAbsent | String |
|
||||
|
||||
@@ -289,7 +289,6 @@ compGenerated
|
||||
| file://<external>/LongProgression.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/LongRange.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/LongRange.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/String.class:0:0:0:0 | getChars | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/String.class:0:0:0:0 | isEmpty | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| reflection.kt:7:49:7:54 | new Function2<Ccc,Integer,Double>(...) { ... } | The class around a local function, a lambda, or a function reference |
|
||||
| reflection.kt:10:38:10:42 | new KProperty1<C,Integer>(...) { ... } | The class around a local function, a lambda, or a function reference |
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
| AbstractList$RandomAccessSpliterator | .../AbstractList$RandomAccessSpliterator.class:0:0:0:0 |
|
||||
| ArrayList | .../ArrayList.class:0:0:0:0 |
|
||||
| ArrayList$ArrayListSpliterator | .../ArrayList$ArrayListSpliterator.class:0:0:0:0 |
|
||||
| CleanerImpl$CleanableList | .../CleanerImpl$CleanableList.class:0:0:0:0 |
|
||||
| CleanerImpl$CleanableList$Node | .../CleanerImpl$CleanableList$Node.class:0:0:0:0 |
|
||||
| List | .../List.class:0:0:0:0 |
|
||||
| ListIterator | .../ListIterator.class:0:0:0:0 |
|
||||
| MemorySessionImpl$ResourceList | .../MemorySessionImpl$ResourceList.class:0:0:0:0 |
|
||||
|
||||
@@ -16,6 +16,14 @@ methodWithDuplicate
|
||||
| AbstractCollection<E> | removeAll | Collection<?> |
|
||||
| AbstractCollection<E> | retainAll | Collection<?> |
|
||||
| AbstractCollection<E> | toArray | T[] |
|
||||
| AbstractCollection<Runnable> | add | Runnable |
|
||||
| AbstractCollection<Runnable> | addAll | Collection<? extends Runnable> |
|
||||
| AbstractCollection<Runnable> | contains | Object |
|
||||
| AbstractCollection<Runnable> | containsAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | remove | Object |
|
||||
| AbstractCollection<Runnable> | removeAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | retainAll | Collection<?> |
|
||||
| AbstractCollection<Runnable> | toArray | T[] |
|
||||
| AbstractCollection<String> | add | String |
|
||||
| AbstractCollection<String> | addAll | Collection<? extends String> |
|
||||
| AbstractCollection<String> | contains | Object |
|
||||
@@ -71,14 +79,14 @@ methodWithDuplicate
|
||||
| AbstractMap | put | V |
|
||||
| AbstractMap | putAll | Map<? extends K,? extends V> |
|
||||
| AbstractMap | remove | Object |
|
||||
| AbstractMap<Identity,Object> | containsKey | Object |
|
||||
| AbstractMap<Identity,Object> | containsValue | Object |
|
||||
| AbstractMap<Identity,Object> | equals | Object |
|
||||
| AbstractMap<Identity,Object> | get | Object |
|
||||
| AbstractMap<Identity,Object> | put | Identity |
|
||||
| AbstractMap<Identity,Object> | put | Object |
|
||||
| AbstractMap<Identity,Object> | putAll | Map<? extends Identity,? extends Object> |
|
||||
| AbstractMap<Identity,Object> | remove | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | containsKey | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | containsValue | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | equals | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | get | Object |
|
||||
| AbstractMap<Identity,Entry<?>> | put | Entry<?> |
|
||||
| AbstractMap<Identity,Entry<?>> | put | Identity |
|
||||
| AbstractMap<Identity,Entry<?>> | putAll | Map<? extends Identity,? extends Entry<?>> |
|
||||
| AbstractMap<Identity,Entry<?>> | remove | Object |
|
||||
| AbstractMap<K,V> | containsKey | Object |
|
||||
| AbstractMap<K,V> | containsValue | Object |
|
||||
| AbstractMap<K,V> | equals | Object |
|
||||
@@ -144,6 +152,16 @@ methodWithDuplicate
|
||||
| Collection<K> | retainAll | Collection<?> |
|
||||
| Collection<K> | toArray | IntFunction<T[]> |
|
||||
| Collection<K> | toArray | T[] |
|
||||
| Collection<Runnable> | add | Runnable |
|
||||
| Collection<Runnable> | addAll | Collection<? extends Runnable> |
|
||||
| Collection<Runnable> | contains | Object |
|
||||
| Collection<Runnable> | containsAll | Collection<?> |
|
||||
| Collection<Runnable> | remove | Object |
|
||||
| Collection<Runnable> | removeAll | Collection<?> |
|
||||
| Collection<Runnable> | removeIf | Predicate<? super Runnable> |
|
||||
| Collection<Runnable> | retainAll | Collection<?> |
|
||||
| Collection<Runnable> | toArray | IntFunction<T[]> |
|
||||
| Collection<Runnable> | toArray | T[] |
|
||||
| Collection<String> | add | String |
|
||||
| Collection<String> | addAll | Collection<? extends String> |
|
||||
| Collection<String> | contains | Object |
|
||||
@@ -191,8 +209,6 @@ methodWithDuplicate
|
||||
| List | listIterator | int |
|
||||
| List | of | E |
|
||||
| List | of | E[] |
|
||||
| List | ofLazy | IntFunction<? extends E> |
|
||||
| List | ofLazy | int |
|
||||
| List | remove | Object |
|
||||
| List | remove | int |
|
||||
| List | removeAll | Collection<?> |
|
||||
@@ -218,8 +234,6 @@ methodWithDuplicate
|
||||
| List<E> | listIterator | int |
|
||||
| List<E> | of | E |
|
||||
| List<E> | of | E[] |
|
||||
| List<E> | ofLazy | IntFunction<? extends E> |
|
||||
| List<E> | ofLazy | int |
|
||||
| List<E> | remove | Object |
|
||||
| List<E> | remove | int |
|
||||
| List<E> | removeAll | Collection<?> |
|
||||
@@ -246,8 +260,6 @@ methodWithDuplicate
|
||||
| List<String> | listIterator | int |
|
||||
| List<String> | of | E |
|
||||
| List<String> | of | E[] |
|
||||
| List<String> | ofLazy | IntFunction<? extends E> |
|
||||
| List<String> | ofLazy | int |
|
||||
| List<String> | remove | Object |
|
||||
| List<String> | remove | int |
|
||||
| List<String> | removeAll | Collection<?> |
|
||||
@@ -280,8 +292,6 @@ methodWithDuplicate
|
||||
| Map | of | K |
|
||||
| Map | of | V |
|
||||
| Map | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map | ofLazy | Function<? super K,? extends V> |
|
||||
| Map | ofLazy | Set<? extends K> |
|
||||
| Map | put | K |
|
||||
| Map | put | V |
|
||||
| Map | putAll | Map<? extends K,? extends V> |
|
||||
@@ -291,37 +301,36 @@ methodWithDuplicate
|
||||
| Map | replace | K |
|
||||
| Map | replace | V |
|
||||
| Map | replaceAll | BiFunction<? super K,? super V,? extends V> |
|
||||
| Map<Identity,Object> | compute | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | compute | Identity |
|
||||
| Map<Identity,Object> | computeIfAbsent | Function<? super Identity,? extends Object> |
|
||||
| Map<Identity,Object> | computeIfAbsent | Identity |
|
||||
| Map<Identity,Object> | computeIfPresent | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | computeIfPresent | Identity |
|
||||
| Map<Identity,Object> | containsKey | Object |
|
||||
| Map<Identity,Object> | containsValue | Object |
|
||||
| Map<Identity,Object> | copyOf | Map<? extends K,? extends V> |
|
||||
| Map<Identity,Object> | entry | K |
|
||||
| Map<Identity,Object> | entry | V |
|
||||
| Map<Identity,Object> | forEach | BiConsumer<? super Identity,? super Object> |
|
||||
| Map<Identity,Object> | get | Object |
|
||||
| Map<Identity,Object> | getOrDefault | Object |
|
||||
| Map<Identity,Object> | merge | BiFunction<? super Object,? super Object,? extends Object> |
|
||||
| Map<Identity,Object> | merge | Identity |
|
||||
| Map<Identity,Object> | merge | Object |
|
||||
| Map<Identity,Object> | of | K |
|
||||
| Map<Identity,Object> | of | V |
|
||||
| Map<Identity,Object> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Identity,Object> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<Identity,Object> | ofLazy | Set<? extends K> |
|
||||
| Map<Identity,Object> | put | Identity |
|
||||
| Map<Identity,Object> | put | Object |
|
||||
| Map<Identity,Object> | putAll | Map<? extends Identity,? extends Object> |
|
||||
| Map<Identity,Object> | putIfAbsent | Identity |
|
||||
| Map<Identity,Object> | putIfAbsent | Object |
|
||||
| Map<Identity,Object> | remove | Object |
|
||||
| Map<Identity,Object> | replace | Identity |
|
||||
| Map<Identity,Object> | replace | Object |
|
||||
| Map<Identity,Object> | replaceAll | BiFunction<? super Identity,? super Object,? extends Object> |
|
||||
| Map<Identity,Entry<?>> | compute | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | compute | Identity |
|
||||
| Map<Identity,Entry<?>> | computeIfAbsent | Function<? super Identity,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | computeIfAbsent | Identity |
|
||||
| Map<Identity,Entry<?>> | computeIfPresent | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | computeIfPresent | Identity |
|
||||
| Map<Identity,Entry<?>> | containsKey | Object |
|
||||
| Map<Identity,Entry<?>> | containsValue | Object |
|
||||
| Map<Identity,Entry<?>> | copyOf | Map<? extends K,? extends V> |
|
||||
| Map<Identity,Entry<?>> | entry | K |
|
||||
| Map<Identity,Entry<?>> | entry | V |
|
||||
| Map<Identity,Entry<?>> | forEach | BiConsumer<? super Identity,? super Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | get | Object |
|
||||
| Map<Identity,Entry<?>> | getOrDefault | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | getOrDefault | Object |
|
||||
| Map<Identity,Entry<?>> | merge | BiFunction<? super Entry<?>,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | merge | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | merge | Identity |
|
||||
| Map<Identity,Entry<?>> | of | K |
|
||||
| Map<Identity,Entry<?>> | of | V |
|
||||
| Map<Identity,Entry<?>> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Identity,Entry<?>> | put | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | put | Identity |
|
||||
| Map<Identity,Entry<?>> | putAll | Map<? extends Identity,? extends Entry<?>> |
|
||||
| Map<Identity,Entry<?>> | putIfAbsent | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | putIfAbsent | Identity |
|
||||
| Map<Identity,Entry<?>> | remove | Object |
|
||||
| Map<Identity,Entry<?>> | replace | Entry<?> |
|
||||
| Map<Identity,Entry<?>> | replace | Identity |
|
||||
| Map<Identity,Entry<?>> | replaceAll | BiFunction<? super Identity,? super Entry<?>,? extends Entry<?>> |
|
||||
| Map<K,V> | compute | BiFunction<? super K,? super V,? extends V> |
|
||||
| Map<K,V> | compute | K |
|
||||
| Map<K,V> | computeIfAbsent | Function<? super K,? extends V> |
|
||||
@@ -343,8 +352,6 @@ methodWithDuplicate
|
||||
| Map<K,V> | of | K |
|
||||
| Map<K,V> | of | V |
|
||||
| Map<K,V> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<K,V> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<K,V> | ofLazy | Set<? extends K> |
|
||||
| Map<K,V> | put | K |
|
||||
| Map<K,V> | put | V |
|
||||
| Map<K,V> | putAll | Map<? extends K,? extends V> |
|
||||
@@ -373,8 +380,6 @@ methodWithDuplicate
|
||||
| Map<Object,Object> | of | K |
|
||||
| Map<Object,Object> | of | V |
|
||||
| Map<Object,Object> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<Object,Object> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<Object,Object> | ofLazy | Set<? extends K> |
|
||||
| Map<Object,Object> | put | Object |
|
||||
| Map<Object,Object> | putAll | Map<? extends Object,? extends Object> |
|
||||
| Map<Object,Object> | putIfAbsent | Object |
|
||||
@@ -402,8 +407,6 @@ methodWithDuplicate
|
||||
| Map<String,String> | of | K |
|
||||
| Map<String,String> | of | V |
|
||||
| Map<String,String> | ofEntries | Entry<? extends K,? extends V>[] |
|
||||
| Map<String,String> | ofLazy | Function<? super K,? extends V> |
|
||||
| Map<String,String> | ofLazy | Set<? extends K> |
|
||||
| Map<String,String> | put | String |
|
||||
| Map<String,String> | putAll | Map<? extends String,? extends String> |
|
||||
| Map<String,String> | putIfAbsent | String |
|
||||
|
||||
@@ -266,7 +266,6 @@ compGenerated
|
||||
| file://<external>/AccessFlag$Location.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/AccessFlag.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/AccessMode.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/ByteOrder.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/CharProgression.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/CharProgression.class:0:0:0:0 | spliterator | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/CharRange.class:0:0:0:0 | forEach | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
@@ -330,12 +329,10 @@ compGenerated
|
||||
| file://<external>/SignStyle.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/StackWalker$ExtendedOption.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/StackWalker$Option.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/String.class:0:0:0:0 | getChars | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/String.class:0:0:0:0 | isEmpty | Forwarder for a Kotlin class inheriting an interface default method |
|
||||
| file://<external>/TextStyle.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/Thread$State.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/TimeUnit.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/TypeKind.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/VarHandle$AccessMode.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/VarHandle$AccessType.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
| file://<external>/Wrapper.class:0:0:0:0 | getEntries | Default property accessor |
|
||||
|
||||
Reference in New Issue
Block a user