// Ġ! OPT _ IN : Ġkotlin . Experimental Std lib Api Ċ // ĠWITH _ RUNTIME Ċ Ċ abstract Ġclass ĠVisibility ( val Ġname : ĠString , Ġval Ġis Public API : ĠBoolean ) Ġ{ ĊĠĠĠ Ġopen Ġval Ġinternal DisplayName : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġname ĊĊĠĠĠ Ġopen Ġval Ġexternal DisplayName : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġinternal DisplayName ĊĊĠĠĠ Ġabstract Ġfun Ġmust Check In Imports (): ĠBoolean Ċ } Ċ Ċ object ĠVis ibilities Ġ{ ĊĠĠĠ Ġobject ĠPrivate Ġ: ĠVisibility (" private ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPrivate To This Ġ: ĠVisibility (" private _ to _ this ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġinternal DisplayName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" private /* private Ġto Ġthis */ " ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠProtected Ġ: ĠVisibility (" protected ", Ġis Public API Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠInternal Ġ: ĠVisibility (" internal ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPublic Ġ: ĠVisibility (" public ", Ġis Public API Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠLocal Ġ: ĠVisibility (" local ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠInherit ed Ġ: ĠVisibility (" inherited ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" This Ġmethod Ġshouldn 't Ġbe Ġinvoked Ġfor ĠIN HER IT ED Ġvisibility ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠIn visible Fake Ġ: ĠVisibility (" invisible _ fake ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġexternal DisplayName : ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" invisible Ġ( private Ġin Ġa Ġsup ertype )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠUnknown Ġ: ĠVisibility (" unknown ", Ġis Public API Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmust Check In Imports (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" This Ġmethod Ġshouldn 't Ġbe Ġinvoked Ġfor ĠUNKNOWN Ġvisibility ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠORDER ED _ VIS IB IL ITIES : ĠMap < Visibility , ĠInt > Ġ= Ġbuild Map Ġ{ ĊĠĠĠĠĠĠĠ Ġput ( Private To This , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġput ( Private , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġput ( Internal , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġput ( Protected , Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġput ( Public , Ġ 2 ) ĊĠĠĠ Ġ} Ċ } Ċ