Skip to content

Commit 80098ea

Browse files
ElabApply: more readable code
Summary: swap the order of fields, sot that it's more obvious that `LambdaArg` is a "special case" of `TermArg` ___ overriding_review_checks_triggers_an_audit_and_retroactive_review Oncall Short Name: whatsapp_ctt Differential Revision: D102167647 fbshipit-source-id: 98cf41f6ca6a1720fae1914e128b3a8819d62ca0
1 parent b8d16df commit 80098ea

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

eqwalizer/src/main/scala/com/whatsapp/eqwalizer/tc/ElabApply.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ class ElabApply(pipelineContext: PipelineContext) {
2929
private type Var = Int
3030

3131
private sealed trait Arg
32+
private case class TermArg(expr: Expr, paramTy: Type, argTy: Type) extends Arg
3233
private case class LambdaArg(expr: Lambda, paramType: FunType) extends Arg
33-
private case class TermArg(expr: Expr, argTy: Type, paramTy: Type) extends Arg
3434

3535
private def etaExpand(fun: LocalFun): Lambda = {
3636
val pos = fun.pos
@@ -64,7 +64,7 @@ class ElabApply(pipelineContext: PipelineContext) {
6464
case ft: FunType => LambdaArg(lambda, ft)
6565
case t if subtype.gradualSubType(DynamicType, t) =>
6666
LambdaArg(lambda, FunType(0, List.fill(arity)(DynamicType), DynamicType))
67-
case _ => TermArg(lambda, argTy, paramTy)
67+
case _ => TermArg(lambda, paramTy, argTy)
6868
}
6969
}
7070
}
@@ -85,7 +85,7 @@ class ElabApply(pipelineContext: PipelineContext) {
8585
.map {
8686
case ((lambda: Lambda, argTy: FunType), paramTy) if argTy.argTys.nonEmpty =>
8787
lambdaArg(lambda, argTy, paramTy)
88-
case ((expr, argTy), paramTy) => TermArg(expr, argTy, paramTy)
88+
case ((expr, argTy), paramTy) => TermArg(expr, paramTy, argTy)
8989
}
9090

9191
val termArgs = appliedArgs.collect { case pa: TermArg => pa }
@@ -112,7 +112,7 @@ class ElabApply(pipelineContext: PipelineContext) {
112112
lambdaArg(etaExpand(fun), argTy, paramTy)
113113
case ((fun: RemoteFun, argTy: FunType), paramTy) if argTy.forall > 0 =>
114114
lambdaArg(etaExpand(fun), argTy, paramTy)
115-
case ((expr, argTy), paramTy) => TermArg(expr, argTy, paramTy)
115+
case ((expr, argTy), paramTy) => TermArg(expr, paramTy, argTy)
116116
}
117117

118118
val termArgs = appliedArgs.collect { case pa: TermArg => pa }
@@ -184,7 +184,7 @@ class ElabApply(pipelineContext: PipelineContext) {
184184
}
185185

186186
private def checkTermArg(arg: TermArg, varToType: Option[Subst]): Boolean = {
187-
val TermArg(expr, argTy, rawParamTy) = arg
187+
val TermArg(expr, rawParamTy, argTy) = arg
188188
val paramTy = varToType.fold(rawParamTy)(Subst.subst(_, rawParamTy))
189189
if (!subtype.subType(argTy, paramTy)) {
190190
diagnosticsInfo.add(ExpectedSubtype(expr.pos, expr, expected = paramTy, got = argTy))

0 commit comments

Comments
 (0)