import { __exports as t } from "../../../../../../../../_virtual/isReferenced.js";
Object.defineProperty(t, "__esModule", {
  value: !0
});
t.default = c;
function c(r, e, s) {
  switch (e.type) {
    case "MemberExpression":
    case "OptionalMemberExpression":
      return e.property === r ? !!e.computed : e.object === r;
    case "JSXMemberExpression":
      return e.object === r;
    case "VariableDeclarator":
      return e.init === r;
    case "ArrowFunctionExpression":
      return e.body === r;
    case "PrivateName":
      return !1;
    case "ClassMethod":
    case "ClassPrivateMethod":
    case "ObjectMethod":
      return e.key === r ? !!e.computed : !1;
    case "ObjectProperty":
      return e.key === r ? !!e.computed : !s || s.type !== "ObjectPattern";
    case "ClassProperty":
    case "ClassAccessorProperty":
      return e.key === r ? !!e.computed : !0;
    case "ClassPrivateProperty":
      return e.key !== r;
    case "ClassDeclaration":
    case "ClassExpression":
      return e.superClass === r;
    case "AssignmentExpression":
      return e.right === r;
    case "AssignmentPattern":
      return e.right === r;
    case "LabeledStatement":
      return !1;
    case "CatchClause":
      return !1;
    case "RestElement":
      return !1;
    case "BreakStatement":
    case "ContinueStatement":
      return !1;
    case "FunctionDeclaration":
    case "FunctionExpression":
      return !1;
    case "ExportNamespaceSpecifier":
    case "ExportDefaultSpecifier":
      return !1;
    case "ExportSpecifier":
      return s != null && s.source ? !1 : e.local === r;
    case "ImportDefaultSpecifier":
    case "ImportNamespaceSpecifier":
    case "ImportSpecifier":
      return !1;
    case "ImportAttribute":
      return !1;
    case "JSXAttribute":
      return !1;
    case "ObjectPattern":
    case "ArrayPattern":
      return !1;
    case "MetaProperty":
      return !1;
    case "ObjectTypeProperty":
      return e.key !== r;
    case "TSEnumMember":
      return e.id !== r;
    case "TSPropertySignature":
      return e.key === r ? !!e.computed : !0;
  }
  return !0;
}
//# sourceMappingURL=isReferenced.js.map
