## §A.0 Keywords

The keywords introduced by OT/J have different scopes, which means outside their given scope these keywords can be used for regular identifiers. Only these names are keywords unconditionally:

    readonly, team, within

### §A.0.1 Scoped keywords↑ §A.0

The following names are keywords in OT/J only if they appear within a team or role class, ie., after the keyword team has been recognized:

    as, base, callin, playedBy, precedence, tsuper, with, when

These names are keywords only in the context of a callin or callout binding respectively (§A.3):

    after, before, replace, get, set

### §A.0.2 Inheriting scoped keywords↑ §A.0

While regular Java classes may use the scoped keywords (§A.0.1) of OT/J freely, it is an error if a role class inherits a feature whose name is a scoped keyword.

### §A.0.3 Internal names↑ §A.0

Compiler and runtime environment generate internal methods and fields which start with the prefix `_OT$`. It is illegal to use any of these methods and fields within client code.