type) { TokenType::Index => IndexFilter::class, TokenType::Indexes => IndexesFilter::class, TokenType::QueryMatch => QueryMatchFilter::class, TokenType::QueryResult => QueryResultFilter::class, TokenType::Recursive => RecursiveFilter::class, TokenType::Slice => SliceFilter::class, }; return new $filterClass($this, $options); } }