in src/main/kotlin/com/netflix/dgs/plugin/hints/DgsInputArgumentInspector.kt [101:121]
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
val method = methodPointer.element ?: return
val file = methodPointer.element?.sourcePsi?.parentOfType<PsiFile>()
if(file is PsiJavaFile) {
val factory: PsiElementFactory = JavaPsiFacade.getInstance(project).elementFactory
newInputArguments.forEach {
val param = factory.createParameterFromText(it, method)
method.parameterList.add(param)
}
project.getService(DgsService::class.java).clearCache()
} else if(file is KtFile) {
val psiFactory = KtPsiFactory(project)
newInputArguments.forEach {
val param = psiFactory.createParameter(it)
(method.sourcePsi as KtFunction).valueParameterList?.addParameter(param)
}
project.getService(DgsService::class.java).clearCache()
}
}