support conditionals for `zsh -n`

An example to illustrate the issue:

```
% cat a.zsh
[[ -r doesntexist ]] && foo=$(<doesntexist2) || foo=(a)
echo $foo

[ -r doesntexist ] && foo=$(<doesntexist2) || foo=(b)
echo $foo

% zsh a.zsh
a
b

% zsh -n a.zsh
a.zsh:4: no such file or directory: doesntexist2
```