Soft Keywords
Мягкий модификатор (soft modifier) — это один из идентификаторов infix
, inline
, opaque
, open
и transparent
.
Мягкое ключевое слово (soft keyword) — это мягкий модификатор или
один из as
, derives
, end
, extension
, throws
, using
, |
, +
, -
, *
.
Мягкий модификатор рассматривается как потенциальный модификатор определения,
если за ним следует жесткий модификатор или комбинация ключевых слов, начинающаяся с определения
(def
, val
, var
, type
, given
, class
, trait
, object
, enum
, case class
, case object
).
Между двумя словами может быть последовательность токенов новой строки и мягких модификаторов.
В противном случае мягкие ключевые слова обрабатываются особым образом в следующих ситуациях:
inline
, если за ним следует любой токен, который может начать выражение.derives
, если оно появляется после предложения расширения или после имени и, возможно, параметров класса, trait, объекта или enum.end
, если он появляется в начале строки, следующей за оператором (т.е. определением или выражением верхнего уровня).extension
, если оно появляется в начале инструкции и сопровождается(
или[
.using
, если он появляется в начале списка параметров или аргументов.as
, в предложении переименования импорта.|
, если он разделяет два шаблона в альтернативе.+
,-
, если они появляются перед параметром типа.*
, в импорте с подстановочными знаками, или он следует за типом параметра, или если он появляется в соединении varargx*
.
В других местах мягкое ключевое слово рассматривается как обычный идентификатор.
Ссылки: