override fun resolveArgument()

in graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/method/SourceArgumentResolver.kt [26:42]


    override fun resolveArgument(
        parameter: MethodParameter,
        dfe: DataFetchingEnvironment,
    ): Any {
        val source = dfe.getSource<Any>()
        if (source == null) {
            throw IllegalArgumentException("Source is null. Are you trying to use @Source on a root field (e.g. @DgsQuery)?")
        }

        if (parameter.parameterType == source.javaClass) {
            return source
        } else {
            throw IllegalArgumentException(
                "Invalid source type '${source?.javaClass?.name}'. Expected type '${parameter.parameterType.name}'",
            )
        }
    }