GraphMine

graphmine-core / io.github.sof3.graphmine.command / CommandExecutor / specialize

specialize

inline fun <reified SubA : Overload, reified SubS : CommandSender> specialize(): CommandExecutor<SubA, SubS, C>?

Restricts the command executor to its subtypes.

SubA and SubS are intentionally not forced to be subtypes of A and S because it is possible that SubA is another interface that does not extend A.

Parameters

SubA - the new expected overload type

SubS - the new expected sender type

Return this if the types can be narrowed for this instance, null if types are incompatible