private static void addDictConstructorKeys(final PyCallExpression dictConstructor, final DictKeyCompletionResultSet result) {
    final PyExpression callee = dictConstructor.getCallee();
    if (callee == null) return;
    final String name = callee.getText();
    if ("dict".equals(name)) {
      final TypeEvalContext context = TypeEvalContext.codeCompletion(callee.getProject(), callee.getContainingFile());
      final PyType type = context.getType(dictConstructor);
      if (type != null && type.isBuiltin()) {
        final PyArgumentList list = dictConstructor.getArgumentList();
        if (list == null) return;
        final PyExpression[] argumentList = list.getArguments();
        for (final PyExpression argument : argumentList) {
          if (argument instanceof PyKeywordArgument keywordArgument) {
            String keyword = keywordArgument.getKeyword();
            if (keyword != null) {
              result.addKey(keyword);
            }
          }
        }
      }
    }
  }
private static void addDictConstructorKeys(final PyCallExpression dictConstructor, final DictKeyCompletionResultSet result)