Hi everyone,

I found a bug and used AI to narrow it down to the smallest possible reproducer.

I hope this helps.


### schnipp
(: Reproducer for BaseX bug: NPE in Single.has() via Step.get()
   Affected versions: 12.2, 12.3, 12.4
   Not affected: 12.0, 12.1

   Required conditions (all three necessary):
     1. .[] step  — Path.get() converts Filter(ContextValue, preds) to Step.get(SELF, preds)
     2. compound `and` predicate — creates an Arr containing the FuncRef
     3. imported module function as an operand — unresolved at parse time -> FuncRef(expr=null)
        FuncRef extends Single but has no has() override -> Single.has() NPEs on null expr

   Fix: add has() override to FuncRef inner class in StaticFuncs.java (analogous to accept()):
     @Override
     public boolean has(final Flag... flags) {
       return expr != null && expr.has(flags);
     }
:)
import module namespace functx = "http://www.functx.com";

<a/>/.[true() and functx:all-whitespace('')]

### schnapp

Best regards,
Andreas