circle-ir 4.14.2 → 4.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/configs/sinks/golang.json +4 -4
  2. package/dist/analysis/config-loader.d.ts.map +1 -1
  3. package/dist/analysis/config-loader.js +11 -7
  4. package/dist/analysis/config-loader.js.map +1 -1
  5. package/dist/analysis/const-table-lookup.d.ts +29 -0
  6. package/dist/analysis/const-table-lookup.d.ts.map +1 -0
  7. package/dist/analysis/const-table-lookup.js +145 -0
  8. package/dist/analysis/const-table-lookup.js.map +1 -0
  9. package/dist/analysis/constant-caller-gate.d.ts +39 -0
  10. package/dist/analysis/constant-caller-gate.d.ts.map +1 -0
  11. package/dist/analysis/constant-caller-gate.js +298 -0
  12. package/dist/analysis/constant-caller-gate.js.map +1 -0
  13. package/dist/analysis/constant-propagation/evaluator.d.ts.map +1 -1
  14. package/dist/analysis/constant-propagation/evaluator.js +3 -1
  15. package/dist/analysis/constant-propagation/evaluator.js.map +1 -1
  16. package/dist/analysis/constant-propagation/patterns.d.ts +19 -0
  17. package/dist/analysis/constant-propagation/patterns.d.ts.map +1 -1
  18. package/dist/analysis/constant-propagation/patterns.js +33 -0
  19. package/dist/analysis/constant-propagation/patterns.js.map +1 -1
  20. package/dist/analysis/constant-propagation/propagator.d.ts +59 -0
  21. package/dist/analysis/constant-propagation/propagator.d.ts.map +1 -1
  22. package/dist/analysis/constant-propagation/propagator.js +396 -49
  23. package/dist/analysis/constant-propagation/propagator.js.map +1 -1
  24. package/dist/analysis/constant-propagation/types.d.ts +9 -0
  25. package/dist/analysis/constant-propagation/types.d.ts.map +1 -1
  26. package/dist/analysis/findings.d.ts.map +1 -1
  27. package/dist/analysis/findings.js +149 -4
  28. package/dist/analysis/findings.js.map +1 -1
  29. package/dist/analysis/go-strings-replacer.d.ts +21 -0
  30. package/dist/analysis/go-strings-replacer.d.ts.map +1 -0
  31. package/dist/analysis/go-strings-replacer.js +145 -0
  32. package/dist/analysis/go-strings-replacer.js.map +1 -0
  33. package/dist/analysis/interprocedural.d.ts.map +1 -1
  34. package/dist/analysis/interprocedural.js +148 -0
  35. package/dist/analysis/interprocedural.js.map +1 -1
  36. package/dist/analysis/java-array-element-keys.d.ts +14 -0
  37. package/dist/analysis/java-array-element-keys.d.ts.map +1 -0
  38. package/dist/analysis/java-array-element-keys.js +36 -0
  39. package/dist/analysis/java-array-element-keys.js.map +1 -0
  40. package/dist/analysis/java-canonical-prefix.d.ts +42 -0
  41. package/dist/analysis/java-canonical-prefix.d.ts.map +1 -0
  42. package/dist/analysis/java-canonical-prefix.js +145 -0
  43. package/dist/analysis/java-canonical-prefix.js.map +1 -0
  44. package/dist/analysis/java-crlf-strip.d.ts +30 -0
  45. package/dist/analysis/java-crlf-strip.d.ts.map +1 -0
  46. package/dist/analysis/java-crlf-strip.js +195 -0
  47. package/dist/analysis/java-crlf-strip.js.map +1 -0
  48. package/dist/analysis/js-crlf-strip.d.ts +26 -0
  49. package/dist/analysis/js-crlf-strip.d.ts.map +1 -0
  50. package/dist/analysis/js-crlf-strip.js +244 -0
  51. package/dist/analysis/js-crlf-strip.js.map +1 -0
  52. package/dist/analysis/passes/cleartext-credential-transport-pass.d.ts +2 -0
  53. package/dist/analysis/passes/cleartext-credential-transport-pass.d.ts.map +1 -1
  54. package/dist/analysis/passes/cleartext-credential-transport-pass.js +64 -12
  55. package/dist/analysis/passes/cleartext-credential-transport-pass.js.map +1 -1
  56. package/dist/analysis/passes/cross-file-pass.d.ts.map +1 -1
  57. package/dist/analysis/passes/cross-file-pass.js +43 -0
  58. package/dist/analysis/passes/cross-file-pass.js.map +1 -1
  59. package/dist/analysis/passes/csharp-sanitizer-credit.d.ts +12 -0
  60. package/dist/analysis/passes/csharp-sanitizer-credit.d.ts.map +1 -1
  61. package/dist/analysis/passes/csharp-sanitizer-credit.js +127 -12
  62. package/dist/analysis/passes/csharp-sanitizer-credit.js.map +1 -1
  63. package/dist/analysis/passes/interprocedural-pass.d.ts +28 -0
  64. package/dist/analysis/passes/interprocedural-pass.d.ts.map +1 -1
  65. package/dist/analysis/passes/interprocedural-pass.js +20 -1
  66. package/dist/analysis/passes/interprocedural-pass.js.map +1 -1
  67. package/dist/analysis/passes/language-sources-pass.d.ts +76 -2
  68. package/dist/analysis/passes/language-sources-pass.d.ts.map +1 -1
  69. package/dist/analysis/passes/language-sources-pass.js +2045 -156
  70. package/dist/analysis/passes/language-sources-pass.js.map +1 -1
  71. package/dist/analysis/passes/param-source-flow-gate-pass.d.ts +8 -0
  72. package/dist/analysis/passes/param-source-flow-gate-pass.d.ts.map +1 -1
  73. package/dist/analysis/passes/param-source-flow-gate-pass.js +214 -6
  74. package/dist/analysis/passes/param-source-flow-gate-pass.js.map +1 -1
  75. package/dist/analysis/passes/plaintext-password-storage-pass.d.ts +6 -0
  76. package/dist/analysis/passes/plaintext-password-storage-pass.d.ts.map +1 -1
  77. package/dist/analysis/passes/plaintext-password-storage-pass.js +160 -0
  78. package/dist/analysis/passes/plaintext-password-storage-pass.js.map +1 -1
  79. package/dist/analysis/passes/scan-secrets-pass.d.ts +1 -1
  80. package/dist/analysis/passes/scan-secrets-pass.d.ts.map +1 -1
  81. package/dist/analysis/passes/scan-secrets-pass.js +7 -1
  82. package/dist/analysis/passes/scan-secrets-pass.js.map +1 -1
  83. package/dist/analysis/passes/sink-filter-pass.d.ts +1 -1
  84. package/dist/analysis/passes/sink-filter-pass.d.ts.map +1 -1
  85. package/dist/analysis/passes/sink-filter-pass.js +509 -27
  86. package/dist/analysis/passes/sink-filter-pass.js.map +1 -1
  87. package/dist/analysis/passes/taint-matcher-pass.d.ts.map +1 -1
  88. package/dist/analysis/passes/taint-matcher-pass.js +2 -2
  89. package/dist/analysis/passes/taint-matcher-pass.js.map +1 -1
  90. package/dist/analysis/passes/taint-propagation-pass.d.ts.map +1 -1
  91. package/dist/analysis/passes/taint-propagation-pass.js +1606 -60
  92. package/dist/analysis/passes/taint-propagation-pass.js.map +1 -1
  93. package/dist/analysis/passes/weak-hash-pass.d.ts +6 -0
  94. package/dist/analysis/passes/weak-hash-pass.d.ts.map +1 -1
  95. package/dist/analysis/passes/weak-hash-pass.js +191 -4
  96. package/dist/analysis/passes/weak-hash-pass.js.map +1 -1
  97. package/dist/analysis/passes/weak-random-pass.d.ts +5 -0
  98. package/dist/analysis/passes/weak-random-pass.d.ts.map +1 -1
  99. package/dist/analysis/passes/weak-random-pass.js +30 -0
  100. package/dist/analysis/passes/weak-random-pass.js.map +1 -1
  101. package/dist/analysis/project-callee-escape-gate.d.ts +40 -0
  102. package/dist/analysis/project-callee-escape-gate.d.ts.map +1 -0
  103. package/dist/analysis/project-callee-escape-gate.js +243 -0
  104. package/dist/analysis/project-callee-escape-gate.js.map +1 -0
  105. package/dist/analysis/rust-literal-guard-rebind.d.ts +34 -0
  106. package/dist/analysis/rust-literal-guard-rebind.d.ts.map +1 -0
  107. package/dist/analysis/rust-literal-guard-rebind.js +197 -0
  108. package/dist/analysis/rust-literal-guard-rebind.js.map +1 -0
  109. package/dist/analysis/rust-literal-guard.d.ts +33 -0
  110. package/dist/analysis/rust-literal-guard.d.ts.map +1 -0
  111. package/dist/analysis/rust-literal-guard.js +422 -0
  112. package/dist/analysis/rust-literal-guard.js.map +1 -0
  113. package/dist/analysis/scalar-derivation.d.ts +33 -0
  114. package/dist/analysis/scalar-derivation.d.ts.map +1 -0
  115. package/dist/analysis/scalar-derivation.js +368 -0
  116. package/dist/analysis/scalar-derivation.js.map +1 -0
  117. package/dist/analysis/taint-matcher.d.ts +2 -2
  118. package/dist/analysis/taint-matcher.d.ts.map +1 -1
  119. package/dist/analysis/taint-matcher.js +695 -34
  120. package/dist/analysis/taint-matcher.js.map +1 -1
  121. package/dist/analysis/taint-propagation.d.ts +26 -1
  122. package/dist/analysis/taint-propagation.d.ts.map +1 -1
  123. package/dist/analysis/taint-propagation.js +375 -24
  124. package/dist/analysis/taint-propagation.js.map +1 -1
  125. package/dist/analyzer.d.ts +16 -2
  126. package/dist/analyzer.d.ts.map +1 -1
  127. package/dist/analyzer.js +19 -2
  128. package/dist/analyzer.js.map +1 -1
  129. package/dist/browser/circle-ir.js +25539 -19200
  130. package/dist/core/circle-ir-core.cjs +3945 -2126
  131. package/dist/core/circle-ir-core.js +3945 -2126
  132. package/dist/core/extractors/calls.d.ts +12 -1
  133. package/dist/core/extractors/calls.d.ts.map +1 -1
  134. package/dist/core/extractors/calls.js +332 -22
  135. package/dist/core/extractors/calls.js.map +1 -1
  136. package/dist/core/extractors/dfg.js +336 -10
  137. package/dist/core/extractors/dfg.js.map +1 -1
  138. package/dist/core/extractors/types.d.ts +5 -1
  139. package/dist/core/extractors/types.d.ts.map +1 -1
  140. package/dist/core/extractors/types.js +62 -0
  141. package/dist/core/extractors/types.js.map +1 -1
  142. package/dist/graph/analysis-pass.d.ts +6 -1
  143. package/dist/graph/analysis-pass.d.ts.map +1 -1
  144. package/dist/graph/analysis-pass.js +2 -1
  145. package/dist/graph/analysis-pass.js.map +1 -1
  146. package/dist/graph/code-graph.d.ts +9 -0
  147. package/dist/graph/code-graph.d.ts.map +1 -1
  148. package/dist/graph/code-graph.js +11 -0
  149. package/dist/graph/code-graph.js.map +1 -1
  150. package/dist/navigation/navigation-index.d.ts +134 -14
  151. package/dist/navigation/navigation-index.d.ts.map +1 -1
  152. package/dist/navigation/navigation-index.js +1158 -104
  153. package/dist/navigation/navigation-index.js.map +1 -1
  154. package/dist/navigation/types.d.ts +59 -2
  155. package/dist/navigation/types.d.ts.map +1 -1
  156. package/dist/resolution/cross-file.d.ts +16 -0
  157. package/dist/resolution/cross-file.d.ts.map +1 -1
  158. package/dist/resolution/cross-file.js +110 -42
  159. package/dist/resolution/cross-file.js.map +1 -1
  160. package/dist/resolution/type-hierarchy.d.ts +3 -0
  161. package/dist/resolution/type-hierarchy.d.ts.map +1 -1
  162. package/dist/resolution/type-hierarchy.js +45 -1
  163. package/dist/resolution/type-hierarchy.js.map +1 -1
  164. package/dist/types/index.d.ts +33 -0
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/index.js.map +1 -1
  167. package/dist/wasm/web-tree-sitter.wasm +0 -0
  168. package/package.json +3 -3
@@ -28,9 +28,24 @@
28
28
  * repository, of which 7,246 are correctly unanswered (the target is outside
29
29
  * the tree) and 455 are these.
30
30
  *
31
- * What it deliberately does **not** do: invent a receiver type. Where no type
32
- * is known the answer is `inferred` or there is no answer, and `inferred` is a
33
- * permanent floor — see `Tier`.
31
+ * Two more, found by asking for the callers of overloaded and of overridden
32
+ * methods in a 6,900-file Java repository, where every such answer was wrong:
33
+ *
34
+ * - **Overloads.** A call binds to one overload, chosen the way the compiler
35
+ * chooses — by arity, then by argument types in the compiler's three
36
+ * phases, then the most specific — and only where the types read off the
37
+ * source make the choice certain. Where they do not, the site is
38
+ * `unresolved` with `overload-ambiguous` and the candidates. A symbol may
39
+ * carry a parameter list to ask about one overload; a query without one
40
+ * on an overloaded method gets its answers grouped per overload.
41
+ * - **Dispatch.** A call through a supertype's declaration can land on an
42
+ * override, and a call to an override is a caller of the operation it
43
+ * overrides. Both are answered `polymorphic`, with `via` naming what the
44
+ * site binds to, and the query's `scope` says what dispatch it cannot see.
45
+ *
46
+ * What it deliberately does **not** do: invent a receiver type, or an
47
+ * argument type. Where no type is known the answer is `inferred`, ambiguous,
48
+ * or absent, and `inferred` is a permanent floor — see `Tier`.
34
49
  */
35
50
  import type { CircleIR, SupportedLanguage } from '../types/index.js';
36
51
  import type { NavigationAnswer, Query, QueryKind, QueryOptions } from './types.js';
@@ -77,6 +92,10 @@ export declare class NavigationIndex {
77
92
  private readonly parseMs;
78
93
  /** Direct subtypes, by supertype FQN. */
79
94
  private readonly subtypes;
95
+ /** A call's binding, once made. The index is immutable, so it never goes stale. */
96
+ private readonly bindings;
97
+ /** Calls by `line:column`, per file, built on first use. */
98
+ private readonly callsAt;
80
99
  constructor(input: NavigationFile[], options: BuildOptions);
81
100
  /**
82
101
  * Every call site that calls `symbol`, with how each was bound, plus every
@@ -86,6 +105,10 @@ export declare class NavigationIndex {
86
105
  * reported 147 callers of one method where the right answer was 0 `exact`,
87
106
  * 69 unverified and 78 contradicted by the resolver's own receiver type. Here
88
107
  * the 78 do not appear as answers at all, and the 69 arrive labelled.
108
+ *
109
+ * An overloaded method is answered per overload: with a parameter list in
110
+ * the symbol, for that overload alone; without one, for every overload,
111
+ * grouped and labelled, with a `note` saying so.
89
112
  */
90
113
  resolveCallers(query: Query, opts?: QueryOptions): NavigationAnswer;
91
114
  /** Every call made from inside `symbol`'s body, bound the same way. */
@@ -100,19 +123,28 @@ export declare class NavigationIndex {
100
123
  *
101
124
  * For `callers` the symbol is the call's own target — "who else calls what
102
125
  * this line calls". For `callees` it is the method whose body holds the
103
- * line — "what does the method I am looking at call". Returns nothing when
104
- * the site names no call, when the call cannot be bound to a target, or
105
- * when the name is written twice on one line, which the key cannot separate.
126
+ * line — "what does the method I am looking at call". Either carries a
127
+ * parameter list when the name is overloaded, so the follow-up query asks
128
+ * about that overload alone. Returns nothing when the site names no call,
129
+ * when the call cannot be bound to one target, or when the name is written
130
+ * twice on one line, which the key cannot separate.
106
131
  */
107
132
  symbolAt(file: string, line: number, methodName: string, kind: QueryKind): string | undefined;
133
+ /** `bindCall`, reduced to what callers outside the query paths need. */
134
+ private symbolOfCall;
108
135
  /**
109
- * Bind one call site to a target, or to nothing.
136
+ * Bind one call site to a target, to several candidates, or to nothing.
110
137
  *
111
138
  * The order matters and is the whole contract: a receiver type is sought
112
139
  * first, and only when none can be had does a name-only bind happen, which
113
- * is labelled `inferred` and never anything better.
140
+ * is labelled `inferred` and never anything better. Within the type the
141
+ * receiver names, the overload is chosen by `selectOverload`, and a choice
142
+ * it cannot make is `ambiguous`, not a pick.
114
143
  */
115
- private bind;
144
+ private bindCall;
145
+ private bindUncached;
146
+ /** Bind `call` to a member of `fqn` or of a supertype of it, choosing the overload. */
147
+ private bindInType;
116
148
  /**
117
149
  * The tier for a target, once the declaring type is known.
118
150
  *
@@ -126,8 +158,88 @@ export declare class NavigationIndex {
126
158
  * static resolver answers; only the tier changes.
127
159
  */
128
160
  private tierFor;
129
- /** `new Widget()` → `app.Widget.<init>`. */
130
- private asConstructor;
161
+ /** `new Widget()` → `app.Widget.<init>`, with the constructor chosen like any overload. */
162
+ private bindConstructor;
163
+ /**
164
+ * The overloads of `name` a receiver of type `fqn` can see: its own, then
165
+ * its supertypes', nearest first, leaving out any a nearer type overrides.
166
+ */
167
+ private visibleOverloads;
168
+ /** The declarations of `name` on `t` itself. `<init>` is its constructors. */
169
+ private declaredOverloads;
170
+ /**
171
+ * Choose the overload a call invokes, the way the compiler does — or say
172
+ * that the types read off the source do not decide it.
173
+ *
174
+ * Arity first. Then the compiler's three phases: without boxing or
175
+ * varargs, with boxing, with varargs. In the first phase that has any
176
+ * applicable overload, the most specific one wins. Every argument type here
177
+ * is a lower bound on what is known — an argument that cannot be typed fits
178
+ * anything — so the rule is applied only where it is sound: an overload is
179
+ * picked when it is **certainly** applicable and more specific than every
180
+ * overload that **might** be. Anything less is `ambiguous`.
181
+ */
182
+ private selectOverload;
183
+ /** Whether `c` applies to arguments of these types in compiler phase 1, 2 or 3. */
184
+ private applicable;
185
+ /** `m` is more specific than `o`: each of its parameter types fits the other's. */
186
+ private moreSpecific;
187
+ /**
188
+ * Whether a value of type `a` can be passed as `p` — certainly, possibly,
189
+ * or certainly not. `a === null` is an argument that could not be typed.
190
+ */
191
+ private fits;
192
+ /** Reference to reference: subtyping, as far as the tree and the JDK table know it. */
193
+ private refFits;
194
+ /** Is `t` certainly a type outside this tree? */
195
+ private isKnownForeignRef;
196
+ /** Is `t` a type declared in this tree? */
197
+ private isProjectRef;
198
+ /** Every supertype of a project type, split into what the tree holds and what it does not. */
199
+ private supertypesOf;
200
+ /** A type name that certainly names something outside the tree. */
201
+ private isKnownForeign;
202
+ /**
203
+ * The static type of one argument, or `null` when it cannot be known. The
204
+ * extractor types what the syntax and the declarations in scope say; an
205
+ * argument that is itself a call is typed here by binding that call and
206
+ * reading the chosen overload's return type.
207
+ */
208
+ private argumentType;
209
+ /**
210
+ * The type a generated `getX()` / `isX()` returns on `fqn`: the written
211
+ * type of field `x`, with the type that declares the field.
212
+ */
213
+ private generatedGetterType;
214
+ /**
215
+ * A member's written type as seen from a receiver of type `from`: a type
216
+ * parameter of the declaring type is replaced by the argument the
217
+ * superclass chain from `from` up to it supplies — `Loan extends
218
+ * Base<Long>` makes `Base<T>.getId()`'s `T` a `Long`. Returns the text and
219
+ * the file it must be resolved in, or nothing when a type parameter is
220
+ * left unbound.
221
+ */
222
+ private substitute;
223
+ /** The outermost call named `name` that starts at `line:column` in `rec`. */
224
+ private callAt;
225
+ /** A written type, resolved from one file's point of view. */
226
+ private typeRef;
227
+ /** Whether overload `o` of `owner` is what a query's parameter list names. */
228
+ private signatureMatches;
229
+ /** Same name and same erased parameter types: one overrides the other. */
230
+ private sameErasure;
231
+ /**
232
+ * How a site bound to `owner.overload` reaches `target`'s overload, if it
233
+ * does: through a supertype's declaration the target overrides, or by
234
+ * calling an override of the target.
235
+ */
236
+ private dispatchRelation;
237
+ /** Whether calls to `o` on `t` can dispatch anywhere but `t`'s own body. */
238
+ private dispatchIsOpen;
239
+ /** `a` is `b` or a subtype of it, by the edges the tree holds. */
240
+ private isSubtype;
241
+ /** The query's scope, with what dispatch it cannot see said out loud. */
242
+ private dispatchScope;
131
243
  /**
132
244
  * The receiver's static type, where it can be had without inventing one.
133
245
  *
@@ -143,14 +255,22 @@ export declare class NavigationIndex {
143
255
  * `Builder.of().step("a")` is typed by resolving `Builder`, then taking
144
256
  * `of`'s declared return type, then `step`'s. A step whose return type is
145
257
  * unknown ends the walk and the whole expression is untyped — a half-walked
146
- * chain is not a type.
258
+ * chain is not a type. So does a step whose overloads of that arity
259
+ * disagree on what they return.
147
260
  */
148
261
  private typeOfExpression;
262
+ /**
263
+ * The return type of `name` called with `argc` arguments on `fqn`, when
264
+ * every overload of that arity agrees on it.
265
+ */
266
+ private returnTypeAt;
149
267
  /** The owner named by a static import of this call's method. */
150
268
  private staticOwnerFor;
151
269
  private enclosingTypeOf;
152
270
  /** The innermost declared type whose line range holds `line`. */
153
271
  private enclosingTypeAt;
272
+ /** The method whose body holds `line`, with a parameter list when its name is overloaded. */
273
+ private methodAt;
154
274
  /** Find `method` on `fqn` or on a supertype of it, inside the tree. */
155
275
  private lookupThroughHierarchy;
156
276
  /**
@@ -169,8 +289,8 @@ export declare class NavigationIndex {
169
289
  */
170
290
  private isBodyless;
171
291
  /**
172
- * Types in the tree that declare a **runnable** `method` and are `fqn` or
173
- * below it.
292
+ * Types in the tree that declare a **runnable** override of `o` and are
293
+ * `fqn` or below it.
174
294
  *
175
295
  * "Runnable" is the whole of it: `candidates` answers "which body could
176
296
  * run", so an abstract declaration does not belong there even when it is
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-index.d.ts","sourceRoot":"","sources":["../../src/navigation/navigation-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation-index.d.ts","sourceRoot":"","sources":["../../src/navigation/navigation-index.ts"],"names":[],"mappings":"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"}