fun referenceType()

in src/main/kotlin/org/jetbrains/objcdiff/reports/toClassDiagramMermaid.kt [98:124]


    fun referenceType(from: String, to: ObjCType?, refType: ObjCReferenceType) {

        if (to == null) return
        if (from.isIgnoredType) return
        val targetType = withoutPrefix(to.name)
        if (targetType.isIgnoredType) return

        val refName = when (refType) {
            ObjCReferenceType.SUPER -> "super"
            ObjCReferenceType.PROPERTY -> "property"
            ObjCReferenceType.METHOD_PARAM -> "method-param"
            ObjCReferenceType.METHOD_RETURN -> "method-return"
            ObjCReferenceType.GENERIC -> "generic"
        }

        if (skipRefType) {
            references.add("$from --> $targetType")
        } else {
            references.add("$from --> $targetType : $refName")
        }

        if (to is ObjCType.ObjectType) {
            to.generics.forEach { generic ->
                referenceType(from, generic, ObjCReferenceType.GENERIC)
            }
        }
    }