<div dir="ltr"><div>Hi Paul,</div><div> >A draft incubator code reflection JEP is now visible here<span class="gmail-Apple-converted-space"> </span><a href="https://openjdk.org/jeps/8361105" rel="noreferrer" target="_blank">https://openjdk.org/jeps/8361105</a><br></div><div>I would like to point out a couple of things that are not super clear to me on a first read.</div><div>><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px">As the GPU library traverses the code model it will encounter an element >that models the invocation expression to the<span class="gmail-Apple-converted-space"> </span></span><code style="font-family:"DejaVu Sans Mono","Bitstream Vera Sans Mono","Luxi Mono","Courier New",monospace;color:rgb(0,0,0);font-size:13.333333px">gray</code><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space"> </span>method.<span class="gmail-Apple-converted-space"> .....</span></span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px">> To achieve this we must declare that the<span class="gmail-Apple-converted-space"> </span></span><code style="font-family:"DejaVu Sans Mono","Bitstream Vera Sans Mono","Luxi Mono","Courier New",monospace;color:rgb(0,0,0);font-size:13.333333px">gray</code><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space"> </span>method is also reflectable<span class="gmail-Apple-converted-space"> </span></span><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space"><br></span></span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space">Does it mean we should only call those methods which can be annotated with @Reflect.  Therefore, effectively we should not invoke 3rd party/ even JDK library methods?</span></span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space">></span></span><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:9pt">Foreign programming models</span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:9pt">Font size of it is too small to notice it as a section header while reading from a mobile phone.</span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:9pt">></span><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px">In total there are four syntactic locations where<span class="gmail-Apple-converted-space"> </span></span><code style="font-family:"DejaVu Sans Mono","Bitstream Vera Sans Mono","Luxi Mono","Courier New",monospace;color:rgb(0,0,0);font-size:13.333333px">@Reflect</code><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space"> </span>can appear that governs,</span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px">But I could only see 3 bullet points instead of 4. Are two of them fused in one?</span></div><div><font color="#000000" face="DejaVu Sans, Bitstream Vera Sans, Luxi Sans, Verdana, Arial, Helvetica" size="2"><span style="caret-color: rgb(0, 0, 0);">Would it be possible to show an example of each of them and refer from it here so that it will be a bit more clear.</span></font></div><div><font color="#000000" face="DejaVu Sans, Bitstream Vera Sans, Luxi Sans, Verdana, Arial, Helvetica" size="2"><span style="caret-color: rgb(0, 0, 0);">I can see you mention `cast expression`, could you please clarify what that also really means?</span></font></div><div><font color="#000000" face="DejaVu Sans, Bitstream Vera Sans, Luxi Sans, Verdana, Arial, Helvetica" size="2"><span style="caret-color: rgb(0, 0, 0);"><br></span></font></div><div><font color="#000000" face="DejaVu Sans, Bitstream Vera Sans, Luxi Sans, Verdana, Arial, Helvetica" size="2"><span style="caret-color: rgb(0, 0, 0);">Best regards,</span></font></div><div><font color="#000000" face="DejaVu Sans, Bitstream Vera Sans, Luxi Sans, Verdana, Arial, Helvetica" size="2"><span style="caret-color: rgb(0, 0, 0);">Nadeesh</span></font></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:9pt"><br></span></div><div><span style="color:rgb(0,0,0);font-family:"DejaVu Sans","Bitstream Vera Sans","Luxi Sans",Verdana,Arial,Helvetica;font-size:13.333333px"><span class="gmail-Apple-converted-space"><br></span></span></div></div>