@Override
    public void visitPyTargetExpression(@NotNull PyTargetExpression node) {
      if (myDynamic) return;

      if (PyNames.ALL.equals(node.getName())) {
        myFoundDunderAll = true;
        final PyExpression value = node.findAssignedValue();
        if (value instanceof PyBinaryExpression binaryExpression) {
          if (binaryExpression.isOperator("+")) {
            processSubList(getStringListFromValue(binaryExpression.getLeftExpression()));
            processSubList(getStringListFromValue(binaryExpression.getRightExpression()));
          }
          else {
            myDynamic = true;
          }
        }
        else {
          processSubList(getStringListFromValue(value));
        }
      }

      if (!myFoundDunderAll) {
        final List<String> names = getStringListFromValue(node.findAssignedValue());
        if (names != null) {
          myDunderLike.put(node.getName(), names);
        }
      }
    }
@Override
    public void visitPyTargetExpression(@NotNull PyTargetExpression node)