Sub-Method Reflection

By: Marcus Denker, Stéphane Ducasse, Adrian Lienhard, Philippe Marschall


Reflection has proved to be a powerful feature to support the design of development environments and to extend languages. However, the granularity of structural reflection stops at the method level. This is a problem since without sub-method reflection developers have to duplicate efforts, for example to introduce transparently pluggable type-checkers or fine-grained profilers. In this paper we present Persephone, an efficient implementation of a sub-method meta-object protocol (MOP) based on AST annotations and dual methods (a compiled method and its meta-object) that reconcile AST expressiveness with bytecode execution.

Cite as:

Marcus Denker, Stéphane Ducasse, Adrian Lienhard, Philippe Marschall, “Sub-Method Reflection”, Journal of Object Technology, Volume 6, no. 9 (October 2007), pp. 231-251, doi:10.5381/jot.2007.6.9.a14.

PDF | HTML | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn