in src/jdtls/artifactSearcher.ts [95:135]
public getArtifactsCodeActions(document: vscode.TextDocument, context: vscode.CodeActionContext, _selectRange: vscode.Range): vscode.CodeAction[] | undefined {
if (!isJavaExtActivated()) {
return undefined;
}
if (!this.initialized) {
this.initialize().catch();
return undefined;
}
const diagnostics: vscode.Diagnostic[] = context.diagnostics.filter(diagnostic => {
return diagnosticIndicatesUnresolvedType(diagnostic, document);
});
if (diagnostics.length > 0) {
const range: vscode.Range = diagnostics[0].range;
const className: string = document.getText(range);
const uri: string = document.uri.toString();
const line: number = range.start.line;
const character: number = range.start.character;
const length: number = document.offsetAt(range.end) - document.offsetAt(range.start);
const command: vscode.Command = {
title: TITLE_RESOLVE_UNKNOWN_TYPE,
command: COMMAND_SEARCH_ARTIFACT,
arguments: [{
className,
uri: encodeBase64(uri),
line,
character,
length
}]
};
const codeAction: vscode.CodeAction = {
title: `${TITLE_RESOLVE_UNKNOWN_TYPE} '${className}'`,
command,
kind: vscode.CodeActionKind.QuickFix
};
return [codeAction];
} else {
return [];
}
}