Hi Jozef,
In this case the type variable can be resolved to a wildcard type. Should this be legal or
not? For now, I find to wording in the spec that forbids the event type to resolve to a
wildcard type. So this may be a spec issue AND a tck issue. Shall I create a ticket for
it?
Cheers,
Arne
Von: Jozef Hartinger <jharting@redhat.com<mailto:jharting@redhat.com>>
Datum: Freitag, 2. Mai 2014 16:20
An: Arne Limburg
<arne.limburg@openknowledge.de<mailto:arne.limburg@openknowledge.de>>
Cc: "cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>"
<cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>>
Betreff: Re: [cdi-dev] Events and Type Variables in CDI 1.1
Hi,
I think this is a spec issue. The spec should make it clearer that a "resolvable type
variable" means a type variable that can be resolved to a reference type other than a
type variable.
Jozef
On 04/30/2014 09:32 PM, Arne Limburg wrote:
Hi,
I found an issue in either the spec or the tck, which I would like to discuss:
The TCK-Test
org.jboss.cdi.tck.tests.event.fires.FireEventTest.testTypeVariableEventTypeFails
uses the following bean to fire an event by calling the method fireWithTypeVariable()
public class Bar {
@Inject
private Event<Foo<? extends Number>> event;
public <T extends Number> void fireWithTypeVariable() {
event.fire(new Foo<T>());
}
}
The TCK expects this test to fail because of the type variable in the instance created by
new Foo<T>()
However, the spec states in 10.3.1 „If the container is unable to resolve the
parameterized type of the event object, it uses the specified type to infer the
parameterized type of the event types.“
Imho in this case the container is able to resolve T to "? extends Number“ and the
spec does not prohibit an event to have a wildcard type. So since T is not unresolvable,
this test case should not expect the container to throw an exception. If we consider T not
to be resolved, because it resolves to a wildcard type, we should mention this somewhere
in the spec. Or am I missing something?
Cheers,
Arne
_______________________________________________
cdi-dev mailing list
cdi-dev@lists.jboss.org<mailto:cdi-dev@lists.jboss.org>https://lists.jboss.org/mailman/listinfo/cdi-dev