I discussed this with colleagues and can confirm that for IntelliJ
IDEA parser it will be no problem to always consider yield as a
statement. At least it's much easier than to consider it as a
statement inside switchy blocks only.

With best regards,
Tagir Valeev.

On Tue, May 21, 2019 at 12:38 PM Tagir Valeev <amae...@gmail.com> wrote:
>
> > So does this (option B plus your No) mean that IDEs would tend to color 
> > "yield" as a keyword (at the beginning of a statement) even if followed by 
> > "("?
>
> My "No" was mostly against options C and D where symbol resolution
> affects the parse tree. Sorry if it wasn't clear from my message. When
> the context for the parsing is available inside the same Java file,
> it's usually ok. See the 'var' restricted keyword:
>
> var var = 10; // first is highlighted as type, second as local variable
> var = 20; // var is highlighted as local variable, despite it's at the
> beginning of a statement.
> var(1); // var is highlighted as a method call, despite it's at the
> beginning of a statement.
>
> We have no very big problems parsing this.
>
> With best regards,
> Tagir Valeev.
>
> On Tue, May 21, 2019 at 2:52 AM John Rose <john.r.r...@oracle.com> wrote:
> >
> > On May 20, 2019, at 8:24 AM, Tagir Valeev <amae...@gmail.com> wrote:
> > >
> > > Assuming that we agreed on 'yield' the option B seems the most 
> > > attractive. A big No to context-specific parse tree. It's a complete pain 
> > > to IDEs. Don't forget that IDE often deals with incomplete code, missing 
> > > dependencies, etc., and still needs to provide reasonable highlighting 
> > > and completion. Imagine that 'yield' method is available via import 
> > > static Foo.* or superclass. In this case we don't want to look into other 
> > > files to build a correct parse tree.
> >
> > So does this (option B plus your No) mean that IDEs would
> > tend to color "yield" as a keyword (at the beginning of a
> > statement) even if followed by "("?
> >
> > I suppose that would work.  It's hard to predict what that
> > would feel like, but it's logical.
> >
> > — John

Reply via email to