A Typed Intermediate Language for Supporting Interfaces

Juan Chen


Object-oriented languages such as Java and C# provide interfaces to support a restricted form of multiple inheritance. Existing low-level typed intermediate languages for object-oriented languages, however, either do not support interfaces or require non-standard interface implementations. This paper describes a typed intermediate language that can express the standard interface implementation strategies based on interface tables (itables). The language can faithfully model itables, the standard itable-based interface method invocation, and interface cast. The type system is sound and the type checking is decidable.


Publication typeInproceedings
Published in11th Workshop on Formal Techniques for Java-like Programs (FTfJP 2009)
PublisherAssociation for Computing Machinery, Inc.
> Publications > A Typed Intermediate Language for Supporting Interfaces