> On 5 Oct 2020, at 16:20, Brian Goetz <brian.go...@oracle.com> wrote:
> 
> 5.5.  I think of `instanceof` as having two forms:
> 
>     o instanceof Type
>     o instanceof Pattern
> 
> This phrasing ("converted to the type indicated by the second operand") is 
> consistent with the first, but I think needs a few more words to be 
> consistent with the second?  Every pattern has a "principal type" (making up 
> a term); the principal type of a type pattern `T t` is `T`; the principal 
> type of a deconstruction pattern `D(...)` is `D`.  (The definition for other 
> kinds of patterns like constant patterns or declared         patterns are 
> straightforward enough to define as needed.)  

[The spec also thinks there are two forms of instanceof - see second line of 
15.20.2!]

You don’t need to make up a term; it’s there already. In 14.30.1.1.:

The type of a type test pattern is the ReferenceType.

I use this notion of “type of a pattern” elsewhere. I tried to hedge the 
phrasing in 5.5 to spare myself mentioning both forms of instanceof, but 
perhaps it would just be clearer to do so.

Thanks.
Gavin

Reply via email to