A Reflective Implementation of Java Multi-Methods

Abstract : 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.
Type de document :
Article dans une revue
IEEE Transactions on Software Engineering (TSE), 2004, 30 (12), pp.1055--1071
Liste complète des métadonnées

Littérature citée [34 références]  Voir  Masquer  Télécharger

https://hal-upec-upem.archives-ouvertes.fr/hal-00620605
Contributeur : Etienne Duris <>
Soumis le : vendredi 30 septembre 2011 - 15:41:16
Dernière modification le : jeudi 11 janvier 2018 - 06:20:22
Document(s) archivé(s) le : samedi 31 décembre 2011 - 02:21:53

Fichier

tse04-prelim.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00620605, version 1

Citation

Rémi Forax, Étienne Duris, Gilles Roussel. A Reflective Implementation of Java Multi-Methods. IEEE Transactions on Software Engineering (TSE), 2004, 30 (12), pp.1055--1071. 〈hal-00620605〉

Partager

Métriques

Consultations de la notice

340

Téléchargements de fichiers

124