@@ -6,7 +6,7 @@ import { commands, ExtensionContext, Position, QuickPickItem, TextDocument, Uri,
66import { FormattingOptions , WorkspaceEdit , RenameFile , DeleteFile , TextDocumentEdit , CodeActionParams , SymbolInformation } from 'vscode-languageclient' ;
77import { LanguageClient } from 'vscode-languageclient/node' ;
88import { Commands as javaCommands } from './commands' ;
9- import { GetRefactorEditRequest , MoveRequest , RefactorWorkspaceEdit , RenamePosition , GetMoveDestinationsRequest , SearchSymbols , SelectionInfo , InferSelectionRequest } from './protocol' ;
9+ import { GetRefactorEditRequest , MoveRequest , RefactorWorkspaceEdit , RenamePosition , GetMoveDestinationsRequest , SearchSymbols , SelectionInfo , InferSelectionRequest , GetChangeSignatureInfoRequest , ChangeSignatureInfo } from './protocol' ;
1010import { ChangeSignaturePanel } from './refactoring/changeSignaturePanel' ;
1111import { getExtractInterfaceArguments , revealExtractedInterface } from './refactoring/extractInterface' ;
1212
@@ -112,7 +112,12 @@ function registerApplyRefactorCommand(languageClient: LanguageClient, context: E
112112 }
113113 commandArguments . push ( ...args ) ;
114114 } else if ( command === 'changeSignature' ) {
115- ChangeSignaturePanel . render ( context . extensionUri , languageClient , command , params , formattingOptions , commandInfo ) ;
115+ const changeSignatureInfo : ChangeSignatureInfo = await languageClient . sendRequest ( GetChangeSignatureInfoRequest . type , params ) ;
116+ if ( changeSignatureInfo . errorMessage !== undefined ) {
117+ window . showWarningMessage ( changeSignatureInfo . errorMessage ) ;
118+ return ;
119+ }
120+ ChangeSignaturePanel . render ( context . extensionUri , languageClient , command , params , formattingOptions , changeSignatureInfo ) ;
116121 return ;
117122 }
118123
0 commit comments