fun overriding()

in compiler/src/main/kotlin/motif/compiler/XFunSpec.kt [34:53]


  fun overriding(
      executableElement: XExecutableElement,
      enclosing: XType,
      env: XProcessingEnv,
  ): FunSpec.Builder {
    val methodElement =
        (executableElement as? XMethodElement)
            ?: throw AssertionError("Element is not a method: $executableElement")
    val method = methodElement.asMemberOf(enclosing)

    val returnType =
        if (method.returnType.typeArguments.isNotEmpty()) {
          method.returnType
        } else {
          // ensures that type arguments get loaded
          env.requireType(method.returnType.typeName)
        }

    return overriding(methodElement, method.parameterTypes).returns(javaToKotlinType(returnType))
  }