@@ -11,6 +11,7 @@ import com.omegar.mvp.compiler.entities.View.Method.Type.Function
1111import com.omegar.mvp.compiler.entities.View.Method.Type.Property
1212import com.omegar.mvp.compiler.extensions.safeParameterizedBy
1313import com.omegar.mvp.compiler.extensions.toFileSpecBuilder
14+ import com.omegar.mvp.presenter.PresenterType
1415import com.omegar.mvp.viewstate.MvpViewState
1516import com.omegar.mvp.viewstate.ViewCommand
1617import com.omegar.mvp.viewstate.strategy.AddToEndSingleStrategy
@@ -285,11 +286,15 @@ class ViewStateGenerator : Processor<View, FileSpec> {
285286 return FunSpec .builder(" provide${ if (generalName) " Presenter" else presenterType.simpleName} " )
286287 .receiver(receiver)
287288 .addTypeVariables(typeParams)
289+ .addParameter(ParameterSpec .builder(" presenterType" , PresenterType ::class )
290+ .defaultValue(" %T.%L" , PresenterType ::class .asTypeName(), PresenterType .LOCAL )
291+ .build()
292+ )
288293 .addParameter(" factoryBlock" , lambda)
289294 .returns(presenterFactoryTypeName)
290295 .addCode(viewStateClassName.simpleName + " .Companion\n " )
291296 .addStatement(" @Suppress(\" UNCHECKED_CAST\" )" )
292- .addCode(" return %T(%T::class as %T<%T>, factoryBlock).also { mvpDelegate.addCustomPresenterFields(it) }" , presenterFactoryTypeName, presenterType, KClass ::class .asClassName(), parameterizedPresenterType)
297+ .addCode(" return %T(%T::class as %T<%T>, presenterType, factoryBlock).also { mvpDelegate.addCustomPresenterFields(it) }" , presenterFactoryTypeName, presenterType, KClass ::class .asClassName(), parameterizedPresenterType)
293298 .build()
294299 }
295300
0 commit comments