PyType (@NotNull TypeEvalContext context, @NotNull TypeEvalContext.Key key) { final var resultExpr = getResultExpression(); final var cache = PyBuiltinCache.getInstance(this); final var dictionary = cache.getDictType(); if (resultExpr instanceof PyKeyValueExpression keyValue && dictionary != null) { final PyType keyType = context.getType(keyValue.getKey()); PyExpression value = keyValue.getValue(); final PyType valueType = value != null ? context.getType(value) : null; return new PyCollectionTypeImpl(dictionary.getPyClass(), false, new SmartList<>(keyType, valueType)); } return dictionary; }