@Override
    public void visitPyCallExpression(@NotNull PyCallExpression node) {
      final PyArgumentList argList = node.getArgumentList();
      if (node.isCalleeText("setup") && argList != null) {
        final PyKeywordArgument packageDirArg = argList.getKeywordArgument("package_dir");
        if (packageDirArg != null) {
          final PyExpression valueExpression = packageDirArg.getValueExpression();
          if (valueExpression instanceof PyDictLiteralExpression packageDirDict) {
            for (PyKeyValueExpression keyValue : packageDirDict.getElements()) {
              final PyExpression keyExpr = keyValue.getKey();
              final PyExpression valueExpr = keyValue.getValue();
              if (keyExpr instanceof PyStringLiteralExpression && valueExpr instanceof PyStringLiteralExpression) {
                String key = ((PyStringLiteralExpression) keyExpr).getStringValue();
                String value = ((PyStringLiteralExpression)valueExpr).getStringValue();
                if (key.length() == 0) {
                  myRootPackageDir = value;
                }
              }
            }
          }
        }
      }
      else {
        super.visitPyCallExpression(node);
      }
    }
@Override
    public void visitPyCallExpression(@NotNull PyCallExpression node)