Skip to content

Commit 7c46530

Browse files
rochalapikinier20
authored andcommitted
remove Try for assert failure, fix unchecked casts
1 parent 29ca8f0 commit 7c46530

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -152,23 +152,38 @@ object SymOps:
152152

153153
def splitExtensionParamList: (List[reflect.ParamClause], List[reflect.ParamClause]) =
154154
import reflect.*
155-
val method = sym.tree.asInstanceOf[DefDef]
156-
(for {
157-
defPosition <- method.symbol.pos
158-
defStart <- scala.util.Try(defPosition.start).toOption
159-
} yield {
160-
method.paramss.partition(_.params.headOption.flatMap(_.symbol.pos.map(_.start < defStart)).getOrElse(false))
161-
}).getOrElse(List.empty, List.empty)
155+
156+
def getPositionStartOption(pos: Option[Position]): Option[Int] = pos.flatMap {
157+
case dotty.tools.dotc.util.NoSourcePosition => None
158+
case pos: Position => Some(pos.start)
159+
}
160+
161+
def comparePositionStarts(posA: Option[Position], posB: Option[Position]): Option[Boolean] =
162+
for {
163+
startA <- getPositionStartOption(posA)
164+
startB <- getPositionStartOption(posB)
165+
} yield {
166+
startA < startB
167+
}
168+
169+
sym.tree match
170+
case tree: DefDef =>
171+
tree.paramss.partition(_.params.headOption.flatMap(param =>
172+
comparePositionStarts(param.symbol.pos, tree.symbol.pos)).getOrElse(false)
173+
)
174+
case _ => Nil -> Nil
162175

163176
def extendedTypeParams: List[reflect.TypeDef] =
164177
import reflect.*
165-
val method = sym.tree.asInstanceOf[DefDef]
166-
method.leadingTypeParams
178+
sym.tree match
179+
case tree: DefDef =>
180+
tree.leadingTypeParams
181+
case _ => Nil
167182

168183
def extendedTermParamLists: List[reflect.TermParamClause] =
169184
import reflect.*
170-
sym.splitExtensionParamList._1.collect {
171-
case tpc: TermParamClause => tpc
185+
sym.splitExtensionParamList._1.collect {
186+
case tpc: TermParamClause => tpc
172187
}
173188

174189
def nonExtensionTermParamLists: List[reflect.TermParamClause] =

0 commit comments

Comments
 (0)