是否有人知道任何框架或库(或IntelliJ或IntelliJ插件)中的注释可以在我的代码中强制执行,只有注释中描述的特定方法可以调用它?
@caller(class="UsefulClass")
public static void myMethodToBeCalledOnlyByUsefulClass() {
}
答案 0 :(得分:1)
Checker Framework允许您定义注释,例如@Caller
,然后让编译器静态强制执行编程规则。您可以使用Checker Framework来定义@Caller
注释和编译器插件。然后,每次使用插件编译代码时,如果代码使用不当,都会发出错误。
Checker Framework附带了许多注释built in,但不是@Caller
,您必须自己定义。