DfType (@NotNull DfaValue array) { DfType componentType = TypeConstraint.fromDfType(array.getDfType()).getArrayComponentType(); if (componentType instanceof DfReferenceType && array instanceof DfaVariableValue var && var.getDescriptor() instanceof PsiVarDescriptor varDescriptor && varDescriptor.getType(var.getQualifier()) instanceof PsiArrayType arrayType) { return componentType.meet(DfaNullability.fromNullability(DfaPsiUtil.getTypeNullability(arrayType.getComponentType())).asDfType()); } return componentType; }