【问题标题】:Using source annotation on a field in an annonymous inner class?在匿名内部类中的字段上使用源注释?
【发布时间】:2019-07-26 18:31:37
【问题描述】:

我是预处理器的新手,正在尝试执行以下代码:

public class foo {

 private Map<String, Runnable> reflectivelyInitializedMap;

 private MyObject bar = new MyObject() {
   @ExternalApi
   private Runnable makePublic;
 }

 // I want to generate the following method:
 public void makePublic(){
   reflectivelyInitializedMap.get("makePublic").run();
 }

}

我无法在预处理器中捕获内部注释字段“makePublic”。 这甚至可能吗?

【问题讨论】:

    标签: java annotations preprocessor auto-generate


    【解决方案1】:

    嗯,这似乎是不可能的。我做了以下事情:

    public class foo {
    
     private Map<String, Runnable> reflectivelyInitializedMap;
    
     @ExternalApi("makePublic")
     private MyObject bar = new MyObject() {
       private Runnable makePublic;
     }
    
     // I want to generate the following method:
     public void makePublic(){
       reflectivelyInitializedMap.get("makePublic").run();
     }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2011-07-06
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      相关资源
      最近更新 更多