MCPcopy Index your code
hub / github.com/ternjs/tern / findRefsToProperty

Function findRefsToProperty

lib/tern.js:1117–1144  ·  view source on GitHub ↗
(srv, query, sourceFile, expr, prop)

Source from the content-addressed store, hash-verified

1115 }
1116
1117 function findRefsToProperty(srv, query, sourceFile, expr, prop) {
1118 var exprType = infer.expressionType(expr);
1119 if (expr.node.type == "MethodDefinition") {
1120 exprType = exprType.propertyOf;
1121 }
1122 var objType = exprType.getObjType();
1123 if (!objType) throw ternError("Couldn't determine type of base object.");
1124
1125 var refs = [];
1126 function storeRef(file) {
1127 return function(node) {
1128 refs.push({file: file.name,
1129 start: outputPos(query, file, node.start),
1130 end: outputPos(query, file, node.end)});
1131 };
1132 }
1133
1134 if (query.onlySourceFile) {
1135 infer.findPropRefs(sourceFile.ast, sourceFile.scope, objType, prop.name, storeRef(sourceFile));
1136 } else {
1137 for (var i = 0; i < srv.files.length; ++i) {
1138 var cur = srv.files[i];
1139 infer.findPropRefs(cur.ast, cur.scope, objType, prop.name, storeRef(cur));
1140 }
1141 }
1142
1143 return {refs: refs, name: prop.name};
1144 }
1145
1146 function findRefs(srv, query, file) {
1147 var expr = findExprOrThrow(file, query, true);

Callers 1

findRefsFunction · 0.85

Calls 2

ternErrorFunction · 0.85
storeRefFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…