open annotation class Storage : Annotation { constructor(value: String) /* primary */ { super/*Any*/() /* () */ } val value: String field = value get } open annotation class State : Annotation { constructor(name: String, storages: Array) /* primary */ { super/*Any*/() /* () */ } val name: String field = name get val storages: Array field = storages get } @State(name = "1", storages = [Storage(value = "HELLO")]) class Test { constructor() /* primary */ { super/*Any*/() /* () */ } }