if (aClass.getName().equals("com.intellij.codeInsight.hint.ParameterInfoComponent")){
fakeParameterInfoComponent.setComponent((JPanel) component);
Object[] objects = fakeParameterInfoComponent.getObjects();
if (objects[0] instanceof JSFunction){
JSFunction jsFunctionObject = (JSFunction) objects[0];
if (jsFunctionObject.getParameterList().getText().equals("(...valueObjects)")){
PsiElement psiElement = fakeParameterInfoComponent.getMyParameterOwner();
Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor();
PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
JSCallExpression jsCallExpression = SignalsUtils.getCallExpressionFromCaret(editor, file);
JSArgumentList argumentList = jsCallExpression.getArgumentList();
PsiReference reference = argumentList.getPrevSibling().getFirstChild().getReference();
JSArgumentList signalParams = SignalsUtils.getStringParametersFromSignalReference(reference);
JSFunction jsFunction = (JSFunction) JSChangeUtil.createJSTreeFromText(psiElement.getProject(), "function foo" + signalParams.getText(), JavaScriptSupportLoader.ECMA_SCRIPT_L4).getPsi();
fakeParameterInfoComponent.setMyObjects(new Object[]{jsFunction});
fakeParameterInfoComponent.update();
}
}
}