A Reflective Implementation of Java Multi-Methods - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue IEEE Transactions on Software Engineering Année : 2004

A Reflective Implementation of Java Multi-Methods

Résumé

In Java, method implementations are chosen at runtime by late-binding with respect to the runtime class of just the receiver argument. However, in order to simplify many programming designs, late-binding with respect to the dynamic type of all arguments is sometimes desirable. This behavior, usually provided by multi-methods, is known as multi-polymorphism. This paper presents a new multi-method implementation based on the standard Java re flection mechanism. Provided as a package, it does not require any language extension nor any virtual machine modi cation. The design issues of this refl ective implementation are presented together with a new and simple multi-method dispatch algorithm that effi ciently supports class loading at runtime. This implementation provides a practicable and fully portable multi-method solution.
Fichier principal
Vignette du fichier
tse04-prelim.pdf (453.34 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00620605 , version 1 (30-09-2011)

Identifiants

  • HAL Id : hal-00620605 , version 1

Citer

Rémi Forax, Étienne Duris, Gilles Roussel. A Reflective Implementation of Java Multi-Methods. IEEE Transactions on Software Engineering, 2004, 30 (12), pp.1055--1071. ⟨hal-00620605⟩
111 Consultations
227 Téléchargements

Partager

Gmail Facebook X LinkedIn More