@@ -116,15 +116,16 @@ trait ClassLikeSupport:
116
116
117
117
val methods = classDef.symbol.declaredMethods.collect {
118
118
case methodSymbol : Symbol =>
119
- val defdef = methodSymbol.tree.asInstanceOf [DefDef ]
120
- val methodVars = defdef.paramss.flatMap(_.params).collect {
119
+ val defdef = methodSymbol.tree.asInstanceOf [DefDef ]
120
+ val methodVars = defdef.paramss.flatMap(_.params).collect {
121
121
case TypeDef (name, _) => name
122
122
}
123
123
val vars = variableNames ++ methodVars
124
+ val receiver : Option [Inkuire .Type ] = Some (classType).filter(_ => ! isModule).orElse(methodSymbol.extendedSymbol.map(_.asInkuire(vars, false )))
124
125
Inkuire .ExternalSignature (
125
126
signature = Inkuire .Signature (
126
- receiver = Some (classType).filter(_ => ! isModule) ,
127
- arguments = defdef.paramss .flatMap(_.params).collect {
127
+ receiver = receiver ,
128
+ arguments = methodSymbol.nonExtensionParamLists .flatMap(_.params).collect {
128
129
case ValDef (_, tpe, _) => tpe.asInkuire(vars, false )
129
130
},
130
131
result = defdef.returnTpt.asInkuire(vars, false ),
@@ -391,13 +392,7 @@ trait ClassLikeSupport:
391
392
specificKind : (Kind .Def => Kind ) = identity
392
393
): Member =
393
394
val method = methodSymbol.tree.asInstanceOf [DefDef ]
394
- val paramLists : List [TermParamClause ] =
395
- if emptyParamsList then Nil
396
- else if methodSymbol.isExtensionMethod then
397
- val params = method.termParamss
398
- if methodSymbol.isLeftAssoc || params.size == 1 then params.tail
399
- else params.head :: params.tail.drop(1 )
400
- else method.termParamss
395
+ val paramLists : List [TermParamClause ] = methodSymbol.nonExtensionParamLists
401
396
val genericTypes = if (methodSymbol.isClassConstructor) Nil else method.leadingTypeParams
402
397
403
398
val memberInfo = unwrapMemberInfo(c, methodSymbol)
0 commit comments