code: function getEntityNameForExtendingInterface(node) {
              switch (node.kind) {
                  case 69 /* Identifier */:
                  case 172 /* PropertyAccessExpression */:
                      return node.parent ? getEntityNameForExtendingInterface(node.parent) : undefined;
                  case 194 /* ExpressionWithTypeArguments */:
                      ts.Debug.assert(ts.isEntityNameExpression(node.expression));
                      return node.expression;
                  default:
                      return undefined;
              }
          }
docs: Climbs up parents to an ExpressionWithTypeArguments, and returns its expression,
  but returns undefined if that expression is not an EntityNameExpression.