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 にあります。