MCPcopy
hub / github.com/lebab/lebab / getMemberExpressions

Function getMemberExpressions

src/transform/destructParam.js:54–74  ·  view source on GitHub ↗
(variable, hierarchy)

Source from the content-addressed store, hash-verified

52}
53
54function getMemberExpressions(variable, hierarchy) {
55 const memberExpressions = [];
56 for (const ref of variable.references) {
57 const memEx = hierarchy.getParent(ref.identifier);
58 if (!isMemberExpressionObject(memEx, ref.identifier)) {
59 return [];
60 }
61
62 const ex = hierarchy.getParent(memEx);
63 if (isAssignment(ex, memEx) || isUpdate(ex, memEx) || isMethodCall(ex, memEx)) {
64 return [];
65 }
66
67 if (isKeyword(memEx.property.name) || variableExists(memEx.property.name, ref.from)) {
68 return [];
69 }
70
71 memberExpressions.push(memEx);
72 }
73 return memberExpressions;
74}
75
76function isMemberExpressionObject(memEx, object) {
77 return memEx.type === 'MemberExpression' &&

Callers 1

enterFunction · 0.85

Calls 7

isMemberExpressionObjectFunction · 0.85
isAssignmentFunction · 0.85
isMethodCallFunction · 0.85
isKeywordFunction · 0.85
variableExistsFunction · 0.85
isUpdateFunction · 0.70
getParentMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…