0

私はJavaの初心者です。LLVM IR に変換できるさまざまな Java 変数に (文字列で) 注釈を付けたい (そして llvm.var.annotation または llvm.global.annotations を使用してそれらを取得したい)。C/C++ の場合、以下を使用します。

__attribute__((annotate("RED"))) static int a;

そのaため、値「RED」で注釈が付けられています。私の質問は、Javaでこれを作成するにはどうすればよいですか(LLVMにvmkitを使用)?を使用する必要があると思いますが@、vmkit に追加する必要があるライブラリと、Java の注釈がどのように機能するかがわかりません。

ご回答ありがとうございます。

4

1 に答える 1

1

このリンクで注釈チュートリアルを探し ます http://docs.oracle.com/javase/tutorial/java/annotations/

あなたがする必要があるのは、ある種の反省をするよりも注釈を定義することです。これは @Red アノテーションです

package test;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


@Retention(RetentionPolicy.RUNTIME)
public @interface Red {

}

そしてこの使い方

public class AnyClass {

    @Red
    public int a = 5;

}

これは、注釈付きフィールドを取得するための簡単なテストです

package test;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;

public class TestClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        AnyClass anyClass = new AnyClass();
        Class clasz = anyClass.getClass();
        Field [] fArray = clasz.getFields();
        Annotation[] anArray = clasz.getAnnotations();
        for(Field f : fArray) {
            System.out.println("wink" + f.getAnnotations()[0].annotationType());
        }

    }

}
于 2013-06-08T15:36:06.000 に答える