circle-ir 3.42.0 → 3.43.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.
@@ -6016,11 +6016,22 @@ function inferJSTypeFromReceiver(receiver) {
6016
6016
  function buildResolutionContext(tree, cache) {
6017
6017
  const context = {
6018
6018
  className: null,
6019
+ packageName: null,
6019
6020
  methodNames: /* @__PURE__ */ new Set(),
6020
6021
  fieldTypes: /* @__PURE__ */ new Map(),
6021
6022
  localVarTypes: /* @__PURE__ */ new Map(),
6022
- imports: /* @__PURE__ */ new Set()
6023
+ paramTypes: /* @__PURE__ */ new Map(),
6024
+ imports: /* @__PURE__ */ new Map(),
6025
+ wildcardImports: []
6023
6026
  };
6027
+ const packages = getNodesFromCache(tree.rootNode, "package_declaration", cache);
6028
+ if (packages.length > 0) {
6029
+ const text = getNodeText(packages[0]);
6030
+ const match = text.match(/package\s+([a-zA-Z0-9_.]+)/);
6031
+ if (match) {
6032
+ context.packageName = match[1];
6033
+ }
6034
+ }
6024
6035
  const classes = getNodesFromCache(tree.rootNode, "class_declaration", cache);
6025
6036
  if (classes.length > 0) {
6026
6037
  const nameNode = classes[0].childForFieldName("name");
@@ -6034,6 +6045,17 @@ function buildResolutionContext(tree, cache) {
6034
6045
  if (nameNode) {
6035
6046
  context.methodNames.add(getNodeText(nameNode));
6036
6047
  }
6048
+ const paramsNode = method.childForFieldName("parameters");
6049
+ if (paramsNode) {
6050
+ collectParameterTypes(paramsNode, context.paramTypes);
6051
+ }
6052
+ }
6053
+ const constructors = getNodesFromCache(tree.rootNode, "constructor_declaration", cache);
6054
+ for (const ctor of constructors) {
6055
+ const paramsNode = ctor.childForFieldName("parameters");
6056
+ if (paramsNode) {
6057
+ collectParameterTypes(paramsNode, context.paramTypes);
6058
+ }
6037
6059
  }
6038
6060
  const fields = getNodesFromCache(tree.rootNode, "field_declaration", cache);
6039
6061
  for (const field of fields) {
@@ -6066,14 +6088,106 @@ function buildResolutionContext(tree, cache) {
6066
6088
  const imports = getNodesFromCache(tree.rootNode, "import_declaration", cache);
6067
6089
  for (const imp of imports) {
6068
6090
  const text = getNodeText(imp);
6069
- const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)/);
6070
- if (match) {
6071
- const parts2 = match[1].split(".");
6072
- context.imports.add(parts2[parts2.length - 1]);
6091
+ const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)(\.\*)?/);
6092
+ if (!match) continue;
6093
+ const fqn = match[1];
6094
+ const isWildcard = match[2] === ".*";
6095
+ if (isWildcard) {
6096
+ context.wildcardImports.push(fqn);
6097
+ } else {
6098
+ const parts2 = fqn.split(".");
6099
+ const simple = parts2[parts2.length - 1];
6100
+ context.imports.set(simple, fqn);
6073
6101
  }
6074
6102
  }
6075
6103
  return context;
6076
6104
  }
6105
+ function collectParameterTypes(paramsNode, out2) {
6106
+ for (let i2 = 0; i2 < paramsNode.childCount; i2++) {
6107
+ const child = paramsNode.child(i2);
6108
+ if (!child) continue;
6109
+ if (child.type !== "formal_parameter" && child.type !== "spread_parameter") {
6110
+ continue;
6111
+ }
6112
+ const typeNode = child.childForFieldName("type");
6113
+ const nameNode = child.childForFieldName("name");
6114
+ if (typeNode && nameNode) {
6115
+ out2.set(getNodeText(nameNode), getNodeText(typeNode));
6116
+ }
6117
+ }
6118
+ }
6119
+ function stripGenerics(type) {
6120
+ const ltIdx = type.indexOf("<");
6121
+ return ltIdx === -1 ? type : type.substring(0, ltIdx);
6122
+ }
6123
+ function resolveReceiverType(receiver, context) {
6124
+ if (!receiver) return { simpleName: null, fqn: null };
6125
+ if (receiver === "this") {
6126
+ return resolveFqn(context.className, context);
6127
+ }
6128
+ if (receiver.startsWith("this.")) {
6129
+ const fieldName = receiver.substring("this.".length);
6130
+ const fieldType = context.fieldTypes.get(fieldName);
6131
+ if (fieldType) return resolveFqn(stripGenerics(fieldType), context);
6132
+ return { simpleName: null, fqn: null };
6133
+ }
6134
+ if (receiver === "super") return { simpleName: null, fqn: null };
6135
+ const declaredType = context.localVarTypes.get(receiver) ?? context.paramTypes.get(receiver) ?? context.fieldTypes.get(receiver);
6136
+ if (declaredType) {
6137
+ return resolveFqn(stripGenerics(declaredType), context);
6138
+ }
6139
+ if (/^[A-Z]/.test(receiver)) {
6140
+ const simple = receiver.includes(".") ? receiver.substring(receiver.lastIndexOf(".") + 1) : receiver;
6141
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(simple)) {
6142
+ return resolveFqn(simple, context);
6143
+ }
6144
+ }
6145
+ return { simpleName: null, fqn: null };
6146
+ }
6147
+ function resolveFqn(simpleName, context) {
6148
+ if (!simpleName) return { simpleName: null, fqn: null };
6149
+ const importedFqn = context.imports.get(simpleName);
6150
+ if (importedFqn) {
6151
+ return { simpleName, fqn: importedFqn };
6152
+ }
6153
+ if (context.className === simpleName && context.packageName) {
6154
+ return { simpleName, fqn: `${context.packageName}.${simpleName}` };
6155
+ }
6156
+ if (JAVA_LANG_TYPES.has(simpleName)) {
6157
+ return { simpleName, fqn: `java.lang.${simpleName}` };
6158
+ }
6159
+ return { simpleName, fqn: null };
6160
+ }
6161
+ var JAVA_LANG_TYPES = /* @__PURE__ */ new Set([
6162
+ "String",
6163
+ "StringBuilder",
6164
+ "StringBuffer",
6165
+ "Object",
6166
+ "Class",
6167
+ "Integer",
6168
+ "Long",
6169
+ "Double",
6170
+ "Float",
6171
+ "Boolean",
6172
+ "Character",
6173
+ "Byte",
6174
+ "Short",
6175
+ "Number",
6176
+ "Math",
6177
+ "System",
6178
+ "Thread",
6179
+ "Runnable",
6180
+ "Throwable",
6181
+ "Exception",
6182
+ "RuntimeException",
6183
+ "Error",
6184
+ "Process",
6185
+ "ProcessBuilder",
6186
+ "Iterable",
6187
+ "Comparable",
6188
+ "CharSequence",
6189
+ "Enum"
6190
+ ]);
6077
6191
  function extractCallInfo(node, context) {
6078
6192
  const nameNode = node.childForFieldName("name");
6079
6193
  const methodName = nameNode ? getNodeText(nameNode) : "unknown";
@@ -6083,9 +6197,12 @@ function extractCallInfo(node, context) {
6083
6197
  const args2 = argsNode ? extractArguments(argsNode) : [];
6084
6198
  const enclosingMethod = findEnclosingMethod(node);
6085
6199
  const { resolved, resolution } = resolveMethodCall(methodName, receiver, context);
6200
+ const { simpleName, fqn } = resolveReceiverType(receiver, context);
6086
6201
  return {
6087
6202
  method_name: methodName,
6088
6203
  receiver,
6204
+ receiver_type: simpleName,
6205
+ receiver_type_fqn: fqn,
6089
6206
  arguments: args2,
6090
6207
  location: {
6091
6208
  line: node.startPosition.row + 1,
@@ -6107,10 +6224,14 @@ function extractObjectCreation(node, context) {
6107
6224
  status: "resolved",
6108
6225
  target: `${typeName}.<init>`
6109
6226
  };
6227
+ const simpleType = stripGenerics(typeName);
6228
+ const { simpleName, fqn } = resolveFqn(simpleType, context);
6110
6229
  return {
6111
6230
  method_name: typeName,
6112
6231
  // Constructor name is the class name
6113
6232
  receiver: null,
6233
+ receiver_type: simpleName,
6234
+ receiver_type_fqn: fqn,
6114
6235
  arguments: args2,
6115
6236
  location: {
6116
6237
  line: node.startPosition.row + 1,
@@ -6096,11 +6096,22 @@ function inferJSTypeFromReceiver(receiver) {
6096
6096
  function buildResolutionContext(tree, cache) {
6097
6097
  const context = {
6098
6098
  className: null,
6099
+ packageName: null,
6099
6100
  methodNames: /* @__PURE__ */ new Set(),
6100
6101
  fieldTypes: /* @__PURE__ */ new Map(),
6101
6102
  localVarTypes: /* @__PURE__ */ new Map(),
6102
- imports: /* @__PURE__ */ new Set()
6103
+ paramTypes: /* @__PURE__ */ new Map(),
6104
+ imports: /* @__PURE__ */ new Map(),
6105
+ wildcardImports: []
6103
6106
  };
6107
+ const packages = getNodesFromCache(tree.rootNode, "package_declaration", cache);
6108
+ if (packages.length > 0) {
6109
+ const text = getNodeText(packages[0]);
6110
+ const match = text.match(/package\s+([a-zA-Z0-9_.]+)/);
6111
+ if (match) {
6112
+ context.packageName = match[1];
6113
+ }
6114
+ }
6104
6115
  const classes = getNodesFromCache(tree.rootNode, "class_declaration", cache);
6105
6116
  if (classes.length > 0) {
6106
6117
  const nameNode = classes[0].childForFieldName("name");
@@ -6114,6 +6125,17 @@ function buildResolutionContext(tree, cache) {
6114
6125
  if (nameNode) {
6115
6126
  context.methodNames.add(getNodeText(nameNode));
6116
6127
  }
6128
+ const paramsNode = method.childForFieldName("parameters");
6129
+ if (paramsNode) {
6130
+ collectParameterTypes(paramsNode, context.paramTypes);
6131
+ }
6132
+ }
6133
+ const constructors = getNodesFromCache(tree.rootNode, "constructor_declaration", cache);
6134
+ for (const ctor of constructors) {
6135
+ const paramsNode = ctor.childForFieldName("parameters");
6136
+ if (paramsNode) {
6137
+ collectParameterTypes(paramsNode, context.paramTypes);
6138
+ }
6117
6139
  }
6118
6140
  const fields = getNodesFromCache(tree.rootNode, "field_declaration", cache);
6119
6141
  for (const field of fields) {
@@ -6146,14 +6168,106 @@ function buildResolutionContext(tree, cache) {
6146
6168
  const imports = getNodesFromCache(tree.rootNode, "import_declaration", cache);
6147
6169
  for (const imp of imports) {
6148
6170
  const text = getNodeText(imp);
6149
- const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)/);
6150
- if (match) {
6151
- const parts2 = match[1].split(".");
6152
- context.imports.add(parts2[parts2.length - 1]);
6171
+ const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)(\.\*)?/);
6172
+ if (!match) continue;
6173
+ const fqn = match[1];
6174
+ const isWildcard = match[2] === ".*";
6175
+ if (isWildcard) {
6176
+ context.wildcardImports.push(fqn);
6177
+ } else {
6178
+ const parts2 = fqn.split(".");
6179
+ const simple = parts2[parts2.length - 1];
6180
+ context.imports.set(simple, fqn);
6153
6181
  }
6154
6182
  }
6155
6183
  return context;
6156
6184
  }
6185
+ function collectParameterTypes(paramsNode, out2) {
6186
+ for (let i2 = 0; i2 < paramsNode.childCount; i2++) {
6187
+ const child = paramsNode.child(i2);
6188
+ if (!child) continue;
6189
+ if (child.type !== "formal_parameter" && child.type !== "spread_parameter") {
6190
+ continue;
6191
+ }
6192
+ const typeNode = child.childForFieldName("type");
6193
+ const nameNode = child.childForFieldName("name");
6194
+ if (typeNode && nameNode) {
6195
+ out2.set(getNodeText(nameNode), getNodeText(typeNode));
6196
+ }
6197
+ }
6198
+ }
6199
+ function stripGenerics(type) {
6200
+ const ltIdx = type.indexOf("<");
6201
+ return ltIdx === -1 ? type : type.substring(0, ltIdx);
6202
+ }
6203
+ function resolveReceiverType(receiver, context) {
6204
+ if (!receiver) return { simpleName: null, fqn: null };
6205
+ if (receiver === "this") {
6206
+ return resolveFqn(context.className, context);
6207
+ }
6208
+ if (receiver.startsWith("this.")) {
6209
+ const fieldName = receiver.substring("this.".length);
6210
+ const fieldType = context.fieldTypes.get(fieldName);
6211
+ if (fieldType) return resolveFqn(stripGenerics(fieldType), context);
6212
+ return { simpleName: null, fqn: null };
6213
+ }
6214
+ if (receiver === "super") return { simpleName: null, fqn: null };
6215
+ const declaredType = context.localVarTypes.get(receiver) ?? context.paramTypes.get(receiver) ?? context.fieldTypes.get(receiver);
6216
+ if (declaredType) {
6217
+ return resolveFqn(stripGenerics(declaredType), context);
6218
+ }
6219
+ if (/^[A-Z]/.test(receiver)) {
6220
+ const simple = receiver.includes(".") ? receiver.substring(receiver.lastIndexOf(".") + 1) : receiver;
6221
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(simple)) {
6222
+ return resolveFqn(simple, context);
6223
+ }
6224
+ }
6225
+ return { simpleName: null, fqn: null };
6226
+ }
6227
+ function resolveFqn(simpleName, context) {
6228
+ if (!simpleName) return { simpleName: null, fqn: null };
6229
+ const importedFqn = context.imports.get(simpleName);
6230
+ if (importedFqn) {
6231
+ return { simpleName, fqn: importedFqn };
6232
+ }
6233
+ if (context.className === simpleName && context.packageName) {
6234
+ return { simpleName, fqn: `${context.packageName}.${simpleName}` };
6235
+ }
6236
+ if (JAVA_LANG_TYPES.has(simpleName)) {
6237
+ return { simpleName, fqn: `java.lang.${simpleName}` };
6238
+ }
6239
+ return { simpleName, fqn: null };
6240
+ }
6241
+ var JAVA_LANG_TYPES = /* @__PURE__ */ new Set([
6242
+ "String",
6243
+ "StringBuilder",
6244
+ "StringBuffer",
6245
+ "Object",
6246
+ "Class",
6247
+ "Integer",
6248
+ "Long",
6249
+ "Double",
6250
+ "Float",
6251
+ "Boolean",
6252
+ "Character",
6253
+ "Byte",
6254
+ "Short",
6255
+ "Number",
6256
+ "Math",
6257
+ "System",
6258
+ "Thread",
6259
+ "Runnable",
6260
+ "Throwable",
6261
+ "Exception",
6262
+ "RuntimeException",
6263
+ "Error",
6264
+ "Process",
6265
+ "ProcessBuilder",
6266
+ "Iterable",
6267
+ "Comparable",
6268
+ "CharSequence",
6269
+ "Enum"
6270
+ ]);
6157
6271
  function extractCallInfo(node, context) {
6158
6272
  const nameNode = node.childForFieldName("name");
6159
6273
  const methodName = nameNode ? getNodeText(nameNode) : "unknown";
@@ -6163,9 +6277,12 @@ function extractCallInfo(node, context) {
6163
6277
  const args2 = argsNode ? extractArguments(argsNode) : [];
6164
6278
  const enclosingMethod = findEnclosingMethod(node);
6165
6279
  const { resolved, resolution } = resolveMethodCall(methodName, receiver, context);
6280
+ const { simpleName, fqn } = resolveReceiverType(receiver, context);
6166
6281
  return {
6167
6282
  method_name: methodName,
6168
6283
  receiver,
6284
+ receiver_type: simpleName,
6285
+ receiver_type_fqn: fqn,
6169
6286
  arguments: args2,
6170
6287
  location: {
6171
6288
  line: node.startPosition.row + 1,
@@ -6187,10 +6304,14 @@ function extractObjectCreation(node, context) {
6187
6304
  status: "resolved",
6188
6305
  target: `${typeName}.<init>`
6189
6306
  };
6307
+ const simpleType = stripGenerics(typeName);
6308
+ const { simpleName, fqn } = resolveFqn(simpleType, context);
6190
6309
  return {
6191
6310
  method_name: typeName,
6192
6311
  // Constructor name is the class name
6193
6312
  receiver: null,
6313
+ receiver_type: simpleName,
6314
+ receiver_type_fqn: fqn,
6194
6315
  arguments: args2,
6195
6316
  location: {
6196
6317
  line: node.startPosition.row + 1,
@@ -6030,11 +6030,22 @@ function inferJSTypeFromReceiver(receiver) {
6030
6030
  function buildResolutionContext(tree, cache) {
6031
6031
  const context = {
6032
6032
  className: null,
6033
+ packageName: null,
6033
6034
  methodNames: /* @__PURE__ */ new Set(),
6034
6035
  fieldTypes: /* @__PURE__ */ new Map(),
6035
6036
  localVarTypes: /* @__PURE__ */ new Map(),
6036
- imports: /* @__PURE__ */ new Set()
6037
+ paramTypes: /* @__PURE__ */ new Map(),
6038
+ imports: /* @__PURE__ */ new Map(),
6039
+ wildcardImports: []
6037
6040
  };
6041
+ const packages = getNodesFromCache(tree.rootNode, "package_declaration", cache);
6042
+ if (packages.length > 0) {
6043
+ const text = getNodeText(packages[0]);
6044
+ const match = text.match(/package\s+([a-zA-Z0-9_.]+)/);
6045
+ if (match) {
6046
+ context.packageName = match[1];
6047
+ }
6048
+ }
6038
6049
  const classes = getNodesFromCache(tree.rootNode, "class_declaration", cache);
6039
6050
  if (classes.length > 0) {
6040
6051
  const nameNode = classes[0].childForFieldName("name");
@@ -6048,6 +6059,17 @@ function buildResolutionContext(tree, cache) {
6048
6059
  if (nameNode) {
6049
6060
  context.methodNames.add(getNodeText(nameNode));
6050
6061
  }
6062
+ const paramsNode = method.childForFieldName("parameters");
6063
+ if (paramsNode) {
6064
+ collectParameterTypes(paramsNode, context.paramTypes);
6065
+ }
6066
+ }
6067
+ const constructors = getNodesFromCache(tree.rootNode, "constructor_declaration", cache);
6068
+ for (const ctor of constructors) {
6069
+ const paramsNode = ctor.childForFieldName("parameters");
6070
+ if (paramsNode) {
6071
+ collectParameterTypes(paramsNode, context.paramTypes);
6072
+ }
6051
6073
  }
6052
6074
  const fields = getNodesFromCache(tree.rootNode, "field_declaration", cache);
6053
6075
  for (const field of fields) {
@@ -6080,14 +6102,106 @@ function buildResolutionContext(tree, cache) {
6080
6102
  const imports = getNodesFromCache(tree.rootNode, "import_declaration", cache);
6081
6103
  for (const imp of imports) {
6082
6104
  const text = getNodeText(imp);
6083
- const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)/);
6084
- if (match) {
6085
- const parts2 = match[1].split(".");
6086
- context.imports.add(parts2[parts2.length - 1]);
6105
+ const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)(\.\*)?/);
6106
+ if (!match) continue;
6107
+ const fqn = match[1];
6108
+ const isWildcard = match[2] === ".*";
6109
+ if (isWildcard) {
6110
+ context.wildcardImports.push(fqn);
6111
+ } else {
6112
+ const parts2 = fqn.split(".");
6113
+ const simple = parts2[parts2.length - 1];
6114
+ context.imports.set(simple, fqn);
6087
6115
  }
6088
6116
  }
6089
6117
  return context;
6090
6118
  }
6119
+ function collectParameterTypes(paramsNode, out2) {
6120
+ for (let i2 = 0; i2 < paramsNode.childCount; i2++) {
6121
+ const child = paramsNode.child(i2);
6122
+ if (!child) continue;
6123
+ if (child.type !== "formal_parameter" && child.type !== "spread_parameter") {
6124
+ continue;
6125
+ }
6126
+ const typeNode = child.childForFieldName("type");
6127
+ const nameNode = child.childForFieldName("name");
6128
+ if (typeNode && nameNode) {
6129
+ out2.set(getNodeText(nameNode), getNodeText(typeNode));
6130
+ }
6131
+ }
6132
+ }
6133
+ function stripGenerics(type) {
6134
+ const ltIdx = type.indexOf("<");
6135
+ return ltIdx === -1 ? type : type.substring(0, ltIdx);
6136
+ }
6137
+ function resolveReceiverType(receiver, context) {
6138
+ if (!receiver) return { simpleName: null, fqn: null };
6139
+ if (receiver === "this") {
6140
+ return resolveFqn(context.className, context);
6141
+ }
6142
+ if (receiver.startsWith("this.")) {
6143
+ const fieldName = receiver.substring("this.".length);
6144
+ const fieldType = context.fieldTypes.get(fieldName);
6145
+ if (fieldType) return resolveFqn(stripGenerics(fieldType), context);
6146
+ return { simpleName: null, fqn: null };
6147
+ }
6148
+ if (receiver === "super") return { simpleName: null, fqn: null };
6149
+ const declaredType = context.localVarTypes.get(receiver) ?? context.paramTypes.get(receiver) ?? context.fieldTypes.get(receiver);
6150
+ if (declaredType) {
6151
+ return resolveFqn(stripGenerics(declaredType), context);
6152
+ }
6153
+ if (/^[A-Z]/.test(receiver)) {
6154
+ const simple = receiver.includes(".") ? receiver.substring(receiver.lastIndexOf(".") + 1) : receiver;
6155
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(simple)) {
6156
+ return resolveFqn(simple, context);
6157
+ }
6158
+ }
6159
+ return { simpleName: null, fqn: null };
6160
+ }
6161
+ function resolveFqn(simpleName, context) {
6162
+ if (!simpleName) return { simpleName: null, fqn: null };
6163
+ const importedFqn = context.imports.get(simpleName);
6164
+ if (importedFqn) {
6165
+ return { simpleName, fqn: importedFqn };
6166
+ }
6167
+ if (context.className === simpleName && context.packageName) {
6168
+ return { simpleName, fqn: `${context.packageName}.${simpleName}` };
6169
+ }
6170
+ if (JAVA_LANG_TYPES.has(simpleName)) {
6171
+ return { simpleName, fqn: `java.lang.${simpleName}` };
6172
+ }
6173
+ return { simpleName, fqn: null };
6174
+ }
6175
+ var JAVA_LANG_TYPES = /* @__PURE__ */ new Set([
6176
+ "String",
6177
+ "StringBuilder",
6178
+ "StringBuffer",
6179
+ "Object",
6180
+ "Class",
6181
+ "Integer",
6182
+ "Long",
6183
+ "Double",
6184
+ "Float",
6185
+ "Boolean",
6186
+ "Character",
6187
+ "Byte",
6188
+ "Short",
6189
+ "Number",
6190
+ "Math",
6191
+ "System",
6192
+ "Thread",
6193
+ "Runnable",
6194
+ "Throwable",
6195
+ "Exception",
6196
+ "RuntimeException",
6197
+ "Error",
6198
+ "Process",
6199
+ "ProcessBuilder",
6200
+ "Iterable",
6201
+ "Comparable",
6202
+ "CharSequence",
6203
+ "Enum"
6204
+ ]);
6091
6205
  function extractCallInfo(node, context) {
6092
6206
  const nameNode = node.childForFieldName("name");
6093
6207
  const methodName = nameNode ? getNodeText(nameNode) : "unknown";
@@ -6097,9 +6211,12 @@ function extractCallInfo(node, context) {
6097
6211
  const args2 = argsNode ? extractArguments(argsNode) : [];
6098
6212
  const enclosingMethod = findEnclosingMethod(node);
6099
6213
  const { resolved, resolution } = resolveMethodCall(methodName, receiver, context);
6214
+ const { simpleName, fqn } = resolveReceiverType(receiver, context);
6100
6215
  return {
6101
6216
  method_name: methodName,
6102
6217
  receiver,
6218
+ receiver_type: simpleName,
6219
+ receiver_type_fqn: fqn,
6103
6220
  arguments: args2,
6104
6221
  location: {
6105
6222
  line: node.startPosition.row + 1,
@@ -6121,10 +6238,14 @@ function extractObjectCreation(node, context) {
6121
6238
  status: "resolved",
6122
6239
  target: `${typeName}.<init>`
6123
6240
  };
6241
+ const simpleType = stripGenerics(typeName);
6242
+ const { simpleName, fqn } = resolveFqn(simpleType, context);
6124
6243
  return {
6125
6244
  method_name: typeName,
6126
6245
  // Constructor name is the class name
6127
6246
  receiver: null,
6247
+ receiver_type: simpleName,
6248
+ receiver_type_fqn: fqn,
6128
6249
  arguments: args2,
6129
6250
  location: {
6130
6251
  line: node.startPosition.row + 1,
@@ -1 +1 @@
1
- {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/core/extractors/calls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkEvG;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAgDzF"}
1
+ {"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/core/extractors/calls.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAgC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAA2D,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AA8EvG;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAgDzF"}
@@ -499,11 +499,23 @@ function inferJSTypeFromReceiver(receiver) {
499
499
  function buildResolutionContext(tree, cache) {
500
500
  const context = {
501
501
  className: null,
502
+ packageName: null,
502
503
  methodNames: new Set(),
503
504
  fieldTypes: new Map(),
504
505
  localVarTypes: new Map(),
505
- imports: new Set(),
506
+ paramTypes: new Map(),
507
+ imports: new Map(),
508
+ wildcardImports: [],
506
509
  };
510
+ // Find package declaration (java grammar: `package_declaration`)
511
+ const packages = getNodesFromCache(tree.rootNode, 'package_declaration', cache);
512
+ if (packages.length > 0) {
513
+ const text = getNodeText(packages[0]);
514
+ const match = text.match(/package\s+([a-zA-Z0-9_.]+)/);
515
+ if (match) {
516
+ context.packageName = match[1];
517
+ }
518
+ }
507
519
  // Find class name
508
520
  const classes = getNodesFromCache(tree.rootNode, 'class_declaration', cache);
509
521
  if (classes.length > 0) {
@@ -512,13 +524,25 @@ function buildResolutionContext(tree, cache) {
512
524
  context.className = getNodeText(nameNode);
513
525
  }
514
526
  }
515
- // Collect method names from the class
527
+ // Collect method names + parameter types from the class
516
528
  const methods = getNodesFromCache(tree.rootNode, 'method_declaration', cache);
517
529
  for (const method of methods) {
518
530
  const nameNode = method.childForFieldName('name');
519
531
  if (nameNode) {
520
532
  context.methodNames.add(getNodeText(nameNode));
521
533
  }
534
+ const paramsNode = method.childForFieldName('parameters');
535
+ if (paramsNode) {
536
+ collectParameterTypes(paramsNode, context.paramTypes);
537
+ }
538
+ }
539
+ // Also collect parameters from constructors
540
+ const constructors = getNodesFromCache(tree.rootNode, 'constructor_declaration', cache);
541
+ for (const ctor of constructors) {
542
+ const paramsNode = ctor.childForFieldName('parameters');
543
+ if (paramsNode) {
544
+ collectParameterTypes(paramsNode, context.paramTypes);
545
+ }
522
546
  }
523
547
  // Collect field types
524
548
  const fields = getNodesFromCache(tree.rootNode, 'field_declaration', cache);
@@ -550,19 +574,137 @@ function buildResolutionContext(tree, cache) {
550
574
  }
551
575
  }
552
576
  }
553
- // Collect imports
577
+ // Collect imports — map simple class name to FQN
554
578
  const imports = getNodesFromCache(tree.rootNode, 'import_declaration', cache);
555
579
  for (const imp of imports) {
556
580
  const text = getNodeText(imp);
557
- // Extract class name from import (last part)
558
- const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)/);
559
- if (match) {
560
- const parts = match[1].split('.');
561
- context.imports.add(parts[parts.length - 1]);
581
+ // Match `import [static] some.qualified.Name;` (with optional trailing `.*`)
582
+ const match = text.match(/import\s+(?:static\s+)?([a-zA-Z0-9_.]+)(\.\*)?/);
583
+ if (!match)
584
+ continue;
585
+ const fqn = match[1];
586
+ const isWildcard = match[2] === '.*';
587
+ if (isWildcard) {
588
+ context.wildcardImports.push(fqn);
589
+ }
590
+ else {
591
+ const parts = fqn.split('.');
592
+ const simple = parts[parts.length - 1];
593
+ context.imports.set(simple, fqn);
562
594
  }
563
595
  }
564
596
  return context;
565
597
  }
598
+ /**
599
+ * Collect `paramName → typeName` from a `formal_parameters` node.
600
+ * Handles formal_parameter and spread_parameter; receiver_parameter (Java
601
+ * inner-class `this` reference) is skipped because it has no `name`.
602
+ */
603
+ function collectParameterTypes(paramsNode, out) {
604
+ for (let i = 0; i < paramsNode.childCount; i++) {
605
+ const child = paramsNode.child(i);
606
+ if (!child)
607
+ continue;
608
+ if (child.type !== 'formal_parameter' && child.type !== 'spread_parameter') {
609
+ continue;
610
+ }
611
+ const typeNode = child.childForFieldName('type');
612
+ const nameNode = child.childForFieldName('name');
613
+ if (typeNode && nameNode) {
614
+ out.set(getNodeText(nameNode), getNodeText(typeNode));
615
+ }
616
+ }
617
+ }
618
+ /**
619
+ * Strip generic parameters from a Java type expression.
620
+ * `List<String>` → `List`, `Map<String, User>` → `Map`, `User` → `User`.
621
+ */
622
+ function stripGenerics(type) {
623
+ const ltIdx = type.indexOf('<');
624
+ return ltIdx === -1 ? type : type.substring(0, ltIdx);
625
+ }
626
+ /**
627
+ * Resolve the receiver expression to its declared simple type and (if
628
+ * available) fully-qualified name. Returns `{ simpleName: null, fqn: null }`
629
+ * for receivers that cannot be statically resolved — dynamic dispatch,
630
+ * complex chained expressions, and missing declarations all fall back to
631
+ * the conservative null result so downstream consumers can choose their
632
+ * own heuristic (substring matching, hierarchy walk, etc.).
633
+ */
634
+ function resolveReceiverType(receiver, context) {
635
+ if (!receiver)
636
+ return { simpleName: null, fqn: null };
637
+ // `this` and `this.field` — current class methods/fields
638
+ if (receiver === 'this') {
639
+ return resolveFqn(context.className, context);
640
+ }
641
+ if (receiver.startsWith('this.')) {
642
+ const fieldName = receiver.substring('this.'.length);
643
+ const fieldType = context.fieldTypes.get(fieldName);
644
+ if (fieldType)
645
+ return resolveFqn(stripGenerics(fieldType), context);
646
+ return { simpleName: null, fqn: null };
647
+ }
648
+ // `super` — defer; cannot determine parent class without hierarchy
649
+ if (receiver === 'super')
650
+ return { simpleName: null, fqn: null };
651
+ // Local variable, parameter, or field declared in this file
652
+ const declaredType = context.localVarTypes.get(receiver) ??
653
+ context.paramTypes.get(receiver) ??
654
+ context.fieldTypes.get(receiver);
655
+ if (declaredType) {
656
+ return resolveFqn(stripGenerics(declaredType), context);
657
+ }
658
+ // Receiver starts with uppercase letter — likely a static class reference.
659
+ // Strip dotted prefix (`com.example.Foo` → `Foo`) and look up imports.
660
+ if (/^[A-Z]/.test(receiver)) {
661
+ const simple = receiver.includes('.')
662
+ ? receiver.substring(receiver.lastIndexOf('.') + 1)
663
+ : receiver;
664
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(simple)) {
665
+ return resolveFqn(simple, context);
666
+ }
667
+ }
668
+ return { simpleName: null, fqn: null };
669
+ }
670
+ /**
671
+ * Look up the FQN of a simple type name in the file's imports map.
672
+ * Falls back to same-package resolution when the type was declared in
673
+ * the file's package, or `null` when only wildcards / external types
674
+ * exist (the simple name is still surfaced).
675
+ */
676
+ function resolveFqn(simpleName, context) {
677
+ if (!simpleName)
678
+ return { simpleName: null, fqn: null };
679
+ // Explicit import wins
680
+ const importedFqn = context.imports.get(simpleName);
681
+ if (importedFqn) {
682
+ return { simpleName, fqn: importedFqn };
683
+ }
684
+ // Type declared in this file → use the file's package
685
+ if (context.className === simpleName && context.packageName) {
686
+ return { simpleName, fqn: `${context.packageName}.${simpleName}` };
687
+ }
688
+ // java.lang.* is implicitly imported
689
+ if (JAVA_LANG_TYPES.has(simpleName)) {
690
+ return { simpleName, fqn: `java.lang.${simpleName}` };
691
+ }
692
+ // Wildcard imports — cannot disambiguate, return simple name only
693
+ return { simpleName, fqn: null };
694
+ }
695
+ /**
696
+ * Common types from `java.lang` that are implicitly imported in every
697
+ * compilation unit. Not exhaustive; kept to the subset most likely to
698
+ * appear as call receivers (String, Object, Class, Thread, …) so we
699
+ * can answer the FQN for the common cases without false-positive risk.
700
+ */
701
+ const JAVA_LANG_TYPES = new Set([
702
+ 'String', 'StringBuilder', 'StringBuffer', 'Object', 'Class',
703
+ 'Integer', 'Long', 'Double', 'Float', 'Boolean', 'Character', 'Byte', 'Short',
704
+ 'Number', 'Math', 'System', 'Thread', 'Runnable', 'Throwable', 'Exception',
705
+ 'RuntimeException', 'Error', 'Process', 'ProcessBuilder',
706
+ 'Iterable', 'Comparable', 'CharSequence', 'Enum',
707
+ ]);
566
708
  /**
567
709
  * Extract call information from a method_invocation node.
568
710
  */
@@ -580,9 +722,13 @@ function extractCallInfo(node, context) {
580
722
  const enclosingMethod = findEnclosingMethod(node);
581
723
  // Resolve the call
582
724
  const { resolved, resolution } = resolveMethodCall(methodName, receiver, context);
725
+ // Resolve the receiver's declared type and FQN
726
+ const { simpleName, fqn } = resolveReceiverType(receiver, context);
583
727
  return {
584
728
  method_name: methodName,
585
729
  receiver,
730
+ receiver_type: simpleName,
731
+ receiver_type_fqn: fqn,
586
732
  arguments: args,
587
733
  location: {
588
734
  line: node.startPosition.row + 1,
@@ -612,9 +758,16 @@ function extractObjectCreation(node, context) {
612
758
  status: 'resolved',
613
759
  target: `${typeName}.<init>`,
614
760
  };
761
+ // For a constructor `new Foo(...)`, the call site already names the class —
762
+ // surface that as receiver_type/receiver_type_fqn so downstream consumers
763
+ // see consistent type info regardless of dispatch shape.
764
+ const simpleType = stripGenerics(typeName);
765
+ const { simpleName, fqn } = resolveFqn(simpleType, context);
615
766
  return {
616
767
  method_name: typeName, // Constructor name is the class name
617
768
  receiver: null,
769
+ receiver_type: simpleName,
770
+ receiver_type_fqn: fqn,
618
771
  arguments: args,
619
772
  location: {
620
773
  line: node.startPosition.row + 1,
@@ -1 +1 @@
1
- {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/core/extractors/calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/core/extractors/calls.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,20 @@ export interface FieldInfo {
48
48
  export interface CallInfo {
49
49
  method_name: string;
50
50
  receiver: string | null;
51
+ /**
52
+ * Resolved class/interface name of the receiver — the simple type name
53
+ * the receiver expression was declared as (local variable type, method
54
+ * parameter type, field type, or static class). `null` when the receiver
55
+ * cannot be resolved (dynamic dispatch, complex expression, missing decl).
56
+ */
51
57
  receiver_type?: string | null;
58
+ /**
59
+ * Fully-qualified name of `receiver_type` when resolvable via the file's
60
+ * import declarations or by being declared in the same package. `null`
61
+ * when the simple type was resolved but its FQN cannot be determined
62
+ * (e.g. wildcard imports, same-package types without explicit imports).
63
+ */
64
+ receiver_type_fqn?: string | null;
52
65
  arguments: ArgumentInfo[];
53
66
  location: {
54
67
  line: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "circle-ir",
3
- "version": "3.42.0",
3
+ "version": "3.43.0",
4
4
  "description": "High-performance Static Application Security Testing (SAST) library for detecting security vulnerabilities through taint analysis",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",