我正在为 Flex/AS3 开发一个动态模拟框架,并且在私有/支持类型(即在类文件中的包 {} 之外声明的类型)遇到问题。
在我的 ABC“文件”中,我使用 PROTECTED_NAMESPACE 类标志和 PRIVATE_NS 多名称声明实例。我还尝试赋予它与它所继承的类相同的命名空间(例如 PRIVATE_NS("ContainerClass.as$123"))。
不管我做什么,在loadBytes之后我总是得到以下错误:
VerifyError:错误 #1014:找不到类 ContainerClass.as$123::PrivateClass。
我已经尝试将生成的字节码加载到与私有类相同的 ApplicationDomain 中(默认情况下我使用子域)。我什至尝试在加载之前注册一个类别名(尽管这有点牵强)。
我忘记了什么还是仅仅是 AVM 的限制?
请注意,我完全知道这在 ActionScript 3.0 中是非法的,我正在寻找这在 AVM 中是否真的可行。
编辑:对于迄今为止对这项工作感兴趣的人,该项目是asmock并且在 sourceforge 上。