gpt4 book ai didi

编译中的Java默认修饰符

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:10 29 4
gpt4 key购买 nike

我目前正致力于修改 javac 编译器,以某种方式生成我们自己的编程语言。

我们想摆脱 Java 的默认访问修饰符,使所有没有访问修饰符的东西都成为公共(public)的。

但到目前为止,我还没有成功地找到它在 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 §8.3.1).

因为没有ACC_DEFAULT 标志并且文档说at most one(不是exactly one)我会猜测根本没有标志意味着默认访问。

关于编译中的Java默认修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787171/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com