Abstract | ||
---|---|---|
A mixin is a reusable module that provides uniform extensions and modifications to classes. It is an abstract subclass that is composable with a variety of superclasses. In mixin-based composition, however, the problem of accidental overriding arises. A method declared in a mixin may accidentally override its superclass's method. To tackle this problem, we propose a selective method combination that selects where the method invocation starts, and where method body execution jumps in the case of super invocation, by using the static type information of the receiver. We use the flexible mixin-based subtyping rules that allow subtype relations to be not restricted to the immediate inheritance relations; therefore, flexible control of method combination is achieved. To describe precisely how selective method combination works, we formalize this mechanism over McJava, an extension of Java with mixin-types. We also implement this mechanism by source code translation to Java thus making it runnable on a standard Java virtual machine. |
Year | Venue | Keywords |
---|---|---|
2005 | JOURNAL OF OBJECT TECHNOLOGY | source code |
Field | DocType | Volume |
Programming language,Mixin,Computer science,Subtyping | Journal | 4 |
Issue | ISSN | Citations |
10 | 1660-1769 | 1 |
PageRank | References | Authors |
0.35 | 4 | 2 |
Name | Order | Citations | PageRank |
---|---|---|---|
Tetsuo Kamina | 1 | 170 | 15.50 |
Tetsuo Tamai | 2 | 334 | 33.27 |