A typed intermediate language for supporting interfaces

  • Authors:
  • Juan Chen

  • Affiliations:
  • Microsoft Research, Redmond, WA

  • Venue:
  • Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 low-level 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.