src/main/kotlin/org/arend/psi/ext/ArendDefFunction.kt [52:72]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - override fun getTypeClassReference(): ClassReferable? { val type = resultType ?: return null return if (parameters.all { !it.isExplicit }) ReferableExtractVisitor().findClassReferable(type) else null } override fun getBodyReference(visitor: TypeClassReferenceExtractVisitor): Referable? { val expr = body?.expr ?: return null return ReferableExtractVisitor(requiredAdditionalInfo = false, isExpr = true).findReferable(expr) } private val allParameters get() = if (enclosingClass == null) parameters else listOf(ParameterImpl(false, listOf(null), null)) + parameters override val typeOf: Abstract.Expression? get() = getTypeOf(allParameters, resultType) override fun getClassReferenceData(onlyClassRef: Boolean): ClassReferenceData? { val type = resultType ?: return null val visitor = ReferableExtractVisitor(true) val classRef = (if (isCowith) visitor.findReferableInType(type) as? ClassReferable else visitor.findClassReferable(type)) ?: return null return ClassReferenceData(classRef, visitor.argumentsExplicitness, visitor.implementedFields, true) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - src/main/kotlin/org/arend/psi/ext/ArendDefInstance.kt [45:65]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - override fun getTypeClassReference(): ClassReferable? { val type = resultType ?: return null return if (parameters.all { !it.isExplicit }) ReferableExtractVisitor().findClassReferable(type) else null } override fun getBodyReference(visitor: TypeClassReferenceExtractVisitor): Referable? { val expr = body?.expr ?: return null return ReferableExtractVisitor(requiredAdditionalInfo = false, isExpr = true).findReferable(expr) } private val allParameters get() = if (enclosingClass == null) parameters else listOf(ParameterImpl(false, listOf(null), null)) + parameters override val typeOf: Abstract.Expression? get() = getTypeOf(allParameters, resultType) override fun getClassReferenceData(onlyClassRef: Boolean): ClassReferenceData? { val type = resultType ?: return null val visitor = ReferableExtractVisitor(true) val classRef = (if (isCowith) visitor.findReferableInType(type) as? ClassReferable else visitor.findClassReferable(type)) ?: return null return ClassReferenceData(classRef, visitor.argumentsExplicitness, visitor.implementedFields, true) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -