src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts/ParameterHintsWidget/constructor
class ParameterHintsWidget:	constructor(
		private readonly editor: ICodeEditor,
		@IContextKeyService contextKeyService: IContextKeyService,
		@IOpenerService openerService: IOpenerService,
		@ILanguageService languageService: ILanguageService,
		@ILanguageFeaturesService languageFeaturesService: ILanguageFeaturesService
	) {
		super();
		this.markdownRenderer = this._register(new MarkdownRenderer({ editor }, languageService, openerService));
		this.model = this._register(new ParameterHintsModel(editor, languageFeaturesService.signatureHelpProvider));
		this.keyVisible = Context.Visible.bindTo(contextKeyService);
		this.keyMultipleSignatures = Context.MultipleSignatures.bindTo(contextKeyService);

		this._register(this.model.onChangedHints(newParameterHints => {
			if (newParameterHints) {
				this.show();
				this.render(newParameterHints);
			} else {
				this.hide();
			}
		}));
	}