Hi,

I have in code the following lines (few of `Panel` classes implements 
`TagAware` interface):

```Java
private final Map<PanelType, Panel<T>> panels;
//...
panels
.values()
.stream()
.filter(TagAware.class::isInstance)
.map(TagAware.class::cast)
.forEach(t -> t.setTagsWorkHours(this.tagsWorkHours));
```
The code perfectly compile by javac, but not with GWT compiler: 

      Errors in 
'file:/C:/Development/work/repo/JRS/open/gxt/calendar/widget/src/main/java/org/jresearch/gwt/client/date/widget/Calendar.java'
         Line 376: The type Class<TagAware> does not define 
isInstance(Panel<T>) that is applicable here
         Line 376: The method filter(Predicate<? super Panel<T>>) in the 
type Stream<Panel<T>> is not applicable for the arguments 
(TagAware.class::isInstance)

The same with cast

      Errors in 
'file:/C:/Development/work/repo/JRS/open/gxt/calendar/widget/src/main/java/org/jresearch/gwt/client/date/widget/Calendar.java'
         Line 377: The method map(Function<? super Panel<T>,? extends R>) 
in the type Stream<Panel<T>> is not applicable for the arguments 
(TagAware.class::cast)
         Line 377: The type Class<TagAware> does not define cast(Panel<T>) 
that is applicable here


##### Known workarounds

Rewrite the above lines without method references:

```Java
panels
.values()
.stream()
.filter(p -> p instanceof TagAware)
.map(p -> (TagAware) p)
.forEach(t -> t.setTagsWorkHours(this.tagsWorkHours));
```

Best,
Stas

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to