<commit_before>package io.github.landerlyoung.jennysampleapp

import io.github.landerlyoung.jenny.NativeProxy
import java.io.Closeable
import java.util.concurrent.FutureTask

/*
 * ```
 * Author: <EMAIL>
 * Date:   2020-01-30
 * Time:   19:18
 * Life with Passion, Code with Creativity.
 * ```
 */

@NativeProxy
class Generic<T : Runnable> {
    fun getAndRet(t: T): T = t

    fun <R> genericParam(r: R) {}

    fun <R> genericParamMultiUpperBounds(r: R) where R : Runnable, R : Closeable {
        genericParamMultiUpperBounds(r)
    }

    fun genericParam(t: Generic<Runnable>) {}

    fun genericParam2(t: Generic<FutureTask<Any>>) {}

    fun <R : Runnable> genericParam3(t: Generic<R>) {}

    fun genericParam4(t: Collection<out Runnable>) {}

    fun array(ia: IntArray) {}

    fun array(ia: Array<IntArray>) {}

}<commit_msg>feature: Generic.kt 1. suppress compiler warning 2. generate proxy for methods<commit_after>package io.github.landerlyoung.jennysampleapp

import io.github.landerlyoung.jenny.NativeMethodProxy
import io.github.landerlyoung.jenny.NativeProxy
import java.io.Closeable
import java.util.concurrent.FutureTask

/*
 * ```
 * Author: <EMAIL>
 * Date:   2020-01-30
 * Time:   19:18
 * Life with Passion, Code with Creativity.
 * ```
 */

@NativeProxy(allMethods = true)
class Generic<T : Runnable> {
    fun getAndRet(t: T): T = t

    fun <R> genericParam(r: R) {
        unused(r)
    }

    fun <R> genericParamMultiUpperBounds(r: R) where R : Runnable, R : Closeable {
        genericParamMultiUpperBounds(r)
    }

    fun genericParam(t: Generic<Runnable>) {
        unused(t)
    }

    fun genericParam2(t: Generic<FutureTask<Any>>) {
        unused(t)
    }

    fun <R : Runnable> genericParam3(t: Generic<R>) {
        unused(t)
    }

    fun genericParam4(t: Collection<Runnable>) {
        unused(t)
    }

    fun array(ia: IntArray) {
        unused(ia)
    }

    fun array(ia: Array<IntArray>) {
        unused(ia)
    }

    @NativeMethodProxy(enabled = false)
    private fun unused(@Suppress("UNUSED") a: Any?) {
        a != null
    }
}
{'fraction_non_alphanumeric': 0.13128893148059415, 'fraction_numerical': 0.015333013895543843, 'mean_word_length': 3.1264822134387353, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4047534', 'n_tokens_mistral': 752, 'n_tokens_neox': 710, 'n_words': 156}