<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif; color: rgb(0, 0, 0);">
<div>
<div>
<div>Hi Jozef,</div>
</div>
</div>
<div><br>
</div>
<div>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?</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Arne</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">Von: </span>Jozef Hartinger <<a href="mailto:jharting@redhat.com">jharting@redhat.com</a>><br>
<span style="font-weight:bold">Datum: </span>Freitag, 2. Mai 2014 16:20<br>
<span style="font-weight:bold">An: </span>Arne Limburg <<a href="mailto:arne.limburg@openknowledge.de">arne.limburg@openknowledge.de</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>" <<a href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a>><br>
<span style="font-weight:bold">Betreff: </span>Re: [cdi-dev] Events and Type Variables in CDI 1.1<br>
</div>
<div><br>
</div>
<div>
<div bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi,<br>
<br>
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.<br>
<br>
Jozef<br>
<br>
On 04/30/2014 09:32 PM, Arne Limburg wrote:<br>
</div>
<blockquote cite="mid:CF8700DC.41E11%25arne.limburg@openknowledge.de" type="cite">
<div>Hi,</div>
<div><br>
</div>
<div>I found an issue in either the spec or the tck, which I would like to discuss:</div>
<div>The TCK-Test org.jboss.cdi.tck.tests.event.fires.FireEventTest.testTypeVariableEventTypeFails</div>
<div>uses the following bean to fire an event by calling the method fireWithTypeVariable()</div>
<div><br>
</div>
<div>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
color: rgb(147, 26, 104);">
public<span style="color: #000000"> </span>class<span style="color: #000000"> Bar {</span></p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
color: rgb(119, 119, 119);">
<span style="color: #000000"> </span>@Inject</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;"> <span style="color: #931a68">
private</span> Event<Foo<? <span style="color:
#931a68">extends</span> Number>>
<span style="color:
#0326cc">event</span>;</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;"> <span style="color: #931a68">
public</span> <T <span style="color: #931a68">extends</span> Number> <span style="color: #931a68">
void</span> fireWithTypeVariable() {</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;"> <span style="color: #0326cc">
event</span>.fire(<span style="color: #931a68">new</span> Foo<T>());</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;"> }</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;
min-height: 15px;">
<br>
</p>
<p style="margin: 0px; font-size: 11px; font-family: Monaco;">}</p>
</div>
<div><br>
</div>
<div>The TCK expects this test to fail because of the type variable in the instance created by new Foo<T>()</div>
<div>However, the spec states in 10.3.1 „<span style="font-family:
Helvetica; font-size: 10px;">If the container </span><span style="font-family: Helvetica; font-size: 10px;">is unable to resolve the parameterized type of the event object, it uses
the specified type to infer the parameterized type of the </span><span style="font-family: Helvetica; font-size: 10px;">event types.</span>“</div>
<div>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?</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Arne</div>
<div></div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset> <br>
<pre wrap="">_______________________________________________
cdi-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:cdi-dev@lists.jboss.org">cdi-dev@lists.jboss.org</a><a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/cdi-dev">https://lists.jboss.org/mailman/listinfo/cdi-dev</a></pre>
</blockquote>
<br>
</div>
</div>
</span>
</body>
</html>