Type-Based Object Immutability with Flexible Initialization

ECOOP 2009 - OBJECT-ORIENTED PROGRAMMING(2009)

引用 42|浏览0
暂无评分
摘要
We present a type system for checking object immutability, read-only references, and class immutability in an open or closed world. To allow object initialization outside object constructors (which is often needed in practice), immutable objects are initialized in lexically scoped regions. The system is simple and direct; its only type qualifiers specify immutability properties. No auxiliary annotations, e.g., ownership types, are needed, yet good support for deep immutability is provided. To express object confinement, as required for class immutability in an open world, we use qualifier polymorphism. The system has two versions: one with explicit specification commands that delimit the object initialization phase, and one where such commands are implicit and inferred. In the latter version, all annotations are compatible with Java's extended annotation syntax, as proposed in JSR 308.
更多
查看译文
关键词
object initialization,type-based object immutability,flexible initialization,immutability property,object confinement,immutable object,class immutability,object immutability,deep immutability,object constructor,object initialization phase,type system,polymorphism
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要