软关键字
软修饰符是标识符 infix
、inline
、opaque
、open
和 transparent
之一。
软关键字是软修饰符,或 as
、derives
、end
、extension
、throws
、using
、|
、+
、-
、*
之一。
如果软修饰符后面跟着硬修饰符或以定义开头的关键字组合(def
、val
、var
、type
、given
、class
、trait
、object
、enum
、case class
、case object
),则它将被视为定义的潜在修饰符。两个词之间可能有一系列换行符和软修饰符。
否则,软关键字在以下情况下将被特殊处理
inline
,如果它后面跟着任何可以开始表达式的标记。derives
,如果它出现在扩展子句之后,或者出现在类、特质、对象或枚举定义的名称和可能的参数之后。end
,如果它出现在语句(即定义或顶层表达式)之后的行的开头。extension
,如果它出现在语句的开头,并且后面跟着(
或[
。using
,如果它出现在参数或参数列表的开头。as
,在重命名导入子句中。|
,如果它在备选方案中分隔两个模式。+
,-
,如果它们出现在类型参数的前面。*
,在通配符导入中,或者它跟随参数的类型,或者如果它出现在可变参数拼接x*
中。
在其他所有地方,软关键字被视为普通标识符。