@ Аннотация перед встроенным блоком {} - PullRequest
0 голосов
/ 19 декабря 2018

Есть ли возможность спроектировать что-то вроде:

@Retention(RetentionPolicy.SOURCE)
@Target({ElementType.TYPE})
public @interface ParallelBlock {
}

Таким образом, результатом может быть:

public void method(){
    //some code
    @ParallelBlock {
        //some more code
    }
}

Или единственная возможность, что-то вроде предварительной обработки?

1 Ответ

0 голосов
/ 19 декабря 2018

Перечисление ElementType, которое вы использовали в своем коде, проясняет этот

ANNOTATION_TYPE  Annotation type declaration
CONSTRUCTOR      Constructor declaration
FIELD            Field declaration (includes enum constants)
LOCAL_VARIABLE   Local variable declaration
METHOD           Method declaration
MODULE           Module declaration.
PACKAGE          Package declaration
PARAMETER        Formal parameter declaration
TYPE             Class, interface (including annotation type), or enum declaration
TYPE_PARAMETER   Type parameter declaration
TYPE_USE         Use of a type

, и нет ни одного такого Target блока кода в этом отношении.

Более понятным способом для этого было бы абстрагирование этого блока кода в методе и последующее использование типа METHOD для аннотирования этого метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...