<div dir="ltr"><div>Hello,<br><br></div>I am using GNU classpath-0.97.2.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 17, 2013 at 7:10 PM, Harris BAKIRAS <span dir="ltr"><<a href="mailto:h.bakiras@gmail.com" target="_blank">h.bakiras@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div><tt>What classpath implementation are
you using ? GNUClasspath or OpenJDK ?</tt><span class="HOEnZb"><font color="#888888"><br>
<pre cols="72">Harris Bakiras
</pre></font></span><div><div class="h5">
On 06/17/2013 03:57 PM, Alexandru Ionut Diaconescu wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">Hello Harris,
<div><br>
</div>
<div>Thank you for your answer. So it is there a way of
annotating variables in Java Code, so I can see them into LLVM
bytecode?</div>
<div><br>
</div>
<div>Thank you !</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Jun 17, 2013 at 3:54 PM, Harris
BAKIRAS <span dir="ltr"><<a href="mailto:h.bakiras@gmail.com" target="_blank">h.bakiras@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div><tt>Hello Alexandru,<br>
<br>
No you did nothing wrong.<br>
<br>
We are using our own data structure to describe
annotations in J3. So it is normal that you can not
see your Java annotations inside the LLVM bytecode
produced.<br>
If I remember well, our implementation of annotations
do not rely on LLVM annotations.<br>
<br>
Regards,<br>
</tt>
<pre cols="72">Harris Bakiras
</pre>
<div>
<div> On 06/17/2013 02:19 PM, Alexandru
Ionut Diaconescu wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hello everyone,<br>
<br>
</div>
I am able to work very well with
annotations in C/C++, by using
__attribute__((annotate("MYANNOTATION")))
static int a; . Inside the LLVM bytecode I
have @llvm.global.annotations and
@llvm.var.annotation. <br>
<br>
</div>
However, I was trying to test annotations
also in Java, with VMKit. These are the
commands that I run:<br>
<br>
javac -Xlint -g -O Main.java<br>
../Release+Asserts/bin/vmjc Main<br>
../Release+Asserts/bin/j3 Main<br>
../../llvm_new/Release+Asserts/bin/llvm-dis
< Main.bc > Main_assembly<br>
<br>
</div>
My small program is :<br>
<br>
import java.lang.annotation.ElementType;<br>
import java.lang.annotation.Retention;<br>
import java.lang.annotation.RetentionPolicy;<br>
import java.lang.annotation.Target;<br>
import java.lang.reflect.Method;<br>
<br>
@Target(ElementType.METHOD)<br>
@Retention(RetentionPolicy.RUNTIME)<br>
@interface Red {<br>
String info() default "";<br>
}<br>
<br>
<br>
class Annotated {<br>
@Red(info = "AWESOME")<br>
public void foo(String myParam) {<br>
System.out.println("This is " +
myParam);<br>
}<br>
}<br>
<br>
<br>
class TestAnnotationParser {<br>
public void parse(Class clazz) throws
Exception {<br>
Method[] methods = clazz.getMethods();<br>
<br>
<br>
<br>
for (Method method : methods) {<br>
if
(method.isAnnotationPresent(Red.class)) {<br>
Red test =
method.getAnnotation(Red.class);<br>
String info = <a href="http://test.info" target="_blank">test.info</a>();<br>
<br>
if ("AWESOME".equals(info)) {<br>
System.out.println("info is
awesome!");<br>
// try to invoke the method
with param<br>
method.invoke(<br>
Annotated.class.newInstance(), <br>
info<br>
);<br>
}<br>
}<br>
}<br>
}<br>
<br>
<br>
}<br>
<br>
<br>
public class Main {<br>
public static void main(String[] args)
throws Exception {<br>
TestAnnotationParser parser = new
TestAnnotationParser();<br>
parser.parse(Annotated.class);<br>
}<br>
}<br>
<br>
<br>
</div>
However, I cannot find the annotations in the
bytecode. It is something that I did wrong?<br>
<br>
</div>
Thank you in advance !<br>
<div>
<div><br>
</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
LLVM Developers mailing list
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<font style="color:rgb(153,153,153)">Best
regards,</font><br style="color:rgb(153,153,153)">
<font style="color:rgb(153,153,153)">Alexandru
Ionut Diaconescu</font><br>
</div>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br><br clear="all"><br>-- <br><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Best regards,</font><br style="background-color:rgb(255,255,255);color:rgb(153,153,153)"><font style="background-color:rgb(255,255,255);color:rgb(153,153,153)">Alexandru Ionut Diaconescu</font><br>
</div>