void (@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); } }