Estoy desarrollando un marco de burla dinámico para Flex/AS3 y tengo problemas con los tipos privados/de soporte (es decir, aquellos declarados fuera del paquete {} en un archivo de clase).Subclasificación de una clase privada (soporte) en AVM2
En mi "archivo" ABC, declaro la instancia con el distintivo de clase PROTECTED_NAMESPACE y con una multinacional PRIVATE_NS. También he experimentado con darle el mismo espacio de nombres que la clase que está subclasificando (por ejemplo, PRIVATE_NS ("ContainerClass.as $ 123")).
No importa lo que haga, siempre me sale el siguiente error después de loadBytes:
VerifyError: Error #1014: Class ContainerClass.as$123::PrivateClass could not be found.
he experimentado con cargar el código de bytes generada en el mismo ApplicationDomain como la clase privada (yo uso un dominio secundario por defecto) Incluso traté de registrar un alias de clase antes de la carga (aunque eso fue un poco exagerado).
¿Estoy olvidando algo o es simplemente una restricción de la AVM?
Tenga en cuenta que soy totalmente consciente de que esto es ilegal en ActionScript 3.0, estoy buscando si esto es realmente posible en el AVM.
Editar: Para aquellos interesados en el trabajo hasta el momento, el proyecto es asmock y está en SourceForge.
En realidad, he desarrollado un marco de proxy dinámico y funciona bien (con clases/interfaces de paquete). La única característica sobresaliente del marco es burlarse de las clases "privadas" (declaradas fuera del paquete). –
¡Guau, entonces realmente debo comprobarlo! ¿Asumo que no hiciste esto con las capacidades estándar de AS3? –
En realidad, solo estoy usando Loader.loadBytes().Generar un SWF/ABC dinámico en tiempo de ejecución fue la parte difícil;) –