我正在研究基于 JVM 的编程语言,并使用 Byte Buddy 作为代码生成器。该语言有点类似于 Java,但通常使用注释,而 Java 使用关键字。一些示例注释是public
、private
、extends
、override
或singleton
。inject
与 Java语言规范不同,Java虚拟机规范对类名施加的限制非常少,从 JVM 角度来看,类似extends
或 之类的名称是完全有效的。public
然而,当我尝试生成名称恰好是 Java 关键字的注释类时,我从 Byte Buddy 的类中得到一个IllegalStateException
“ ”。Illegal type name
InstrumentedType
如何绕过 Java 语言特有的验证并使用遵循 Java 虚拟机规范的更宽松的验证规则?
慕尼黑的夜晚无繁华
ibeautiful
相关分类