hsiaosiyuan0/jexpose

enum values 的获取

Closed this issue · 0 comments

  1. 如果没有自定义的构造函数,则 values 为空

  2. 如果有自定义的构造函数,且形参 params 满足:

    params.length == 1 && ["string", "integer", "long", "short"].contains(params[0].type)

    则会读取 clinit 方法中的字节码,来取回构造函数的实参

  3. 如果有自定义的构造函数,但是形参不符合条件的,则会在控制台打印提示,不过不终止程序,返回 values 为空 (可调整为抛异常并终止程序)