编译中的Java默认修饰符

我目前正在修改javac编译器,以某种方式产生我们自己的编程语言.

我们要摆脱Java的默认访问修饰符,将所有没有访问修饰符的内容公开.

但是到目前为止,我还没有成功找到在Java编译代码中实现的位置.我可以轻松地添加到声明阶段之一,但这是一个我们不希望拥有的糟糕解决方案.

有什么见解吗?

解决方法:

查看The class File Format,尤其是4.5字段和4.6方法,我看到定义了以下常量:

ACC_PUBLIC     0x0001
ACC_PRIVATE    0x0002
ACC_PROTECTED  0x0004

However, a specific method (field) of a class may have at most one of its ACC_PRIVATE, ACC_PROTECTED, and ACC_PUBLIC flags set (JLS 07001).

由于没有ACC_DEFAULT标志,并且文档最多说一个(不完全是一个),所以我想根本没有标志就意味着默认访问.

上一篇:javac编译-多个文件夹中的代码


下一篇:Java代码未使用’javac’进行编译,而是在Eclipse中进行编译