in pkg/analysis_server/lib/lsp_protocol/protocol_generated.dart [25236:25626]
static bool canParse(Object? obj, LspJsonReporter reporter) {
if (obj is Map<String, Object?>) {
reporter.push('textDocumentSync');
try {
final textDocumentSync = obj['textDocumentSync'];
if (textDocumentSync != null &&
!((TextDocumentSyncOptions.canParse(textDocumentSync, reporter) ||
TextDocumentSyncKind.canParse(textDocumentSync, reporter)))) {
reporter.reportError(
'must be of type Either2<TextDocumentSyncOptions, TextDocumentSyncKind>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('completionProvider');
try {
final completionProvider = obj['completionProvider'];
if (completionProvider != null &&
!(CompletionOptions.canParse(completionProvider, reporter))) {
reporter.reportError('must be of type CompletionOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('hoverProvider');
try {
final hoverProvider = obj['hoverProvider'];
if (hoverProvider != null &&
!((hoverProvider is bool ||
HoverOptions.canParse(hoverProvider, reporter)))) {
reporter.reportError('must be of type Either2<bool, HoverOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('signatureHelpProvider');
try {
final signatureHelpProvider = obj['signatureHelpProvider'];
if (signatureHelpProvider != null &&
!(SignatureHelpOptions.canParse(signatureHelpProvider, reporter))) {
reporter.reportError('must be of type SignatureHelpOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('declarationProvider');
try {
final declarationProvider = obj['declarationProvider'];
if (declarationProvider != null &&
!((declarationProvider is bool ||
DeclarationOptions.canParse(declarationProvider, reporter) ||
DeclarationRegistrationOptions.canParse(
declarationProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, DeclarationOptions, DeclarationRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('definitionProvider');
try {
final definitionProvider = obj['definitionProvider'];
if (definitionProvider != null &&
!((definitionProvider is bool ||
DefinitionOptions.canParse(definitionProvider, reporter)))) {
reporter
.reportError('must be of type Either2<bool, DefinitionOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('typeDefinitionProvider');
try {
final typeDefinitionProvider = obj['typeDefinitionProvider'];
if (typeDefinitionProvider != null &&
!((typeDefinitionProvider is bool ||
TypeDefinitionOptions.canParse(
typeDefinitionProvider, reporter) ||
TypeDefinitionRegistrationOptions.canParse(
typeDefinitionProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, TypeDefinitionOptions, TypeDefinitionRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('implementationProvider');
try {
final implementationProvider = obj['implementationProvider'];
if (implementationProvider != null &&
!((implementationProvider is bool ||
ImplementationOptions.canParse(
implementationProvider, reporter) ||
ImplementationRegistrationOptions.canParse(
implementationProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, ImplementationOptions, ImplementationRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('referencesProvider');
try {
final referencesProvider = obj['referencesProvider'];
if (referencesProvider != null &&
!((referencesProvider is bool ||
ReferenceOptions.canParse(referencesProvider, reporter)))) {
reporter
.reportError('must be of type Either2<bool, ReferenceOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentHighlightProvider');
try {
final documentHighlightProvider = obj['documentHighlightProvider'];
if (documentHighlightProvider != null &&
!((documentHighlightProvider is bool ||
DocumentHighlightOptions.canParse(
documentHighlightProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<bool, DocumentHighlightOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentSymbolProvider');
try {
final documentSymbolProvider = obj['documentSymbolProvider'];
if (documentSymbolProvider != null &&
!((documentSymbolProvider is bool ||
DocumentSymbolOptions.canParse(
documentSymbolProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<bool, DocumentSymbolOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('codeActionProvider');
try {
final codeActionProvider = obj['codeActionProvider'];
if (codeActionProvider != null &&
!((codeActionProvider is bool ||
CodeActionOptions.canParse(codeActionProvider, reporter)))) {
reporter
.reportError('must be of type Either2<bool, CodeActionOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('codeLensProvider');
try {
final codeLensProvider = obj['codeLensProvider'];
if (codeLensProvider != null &&
!(CodeLensOptions.canParse(codeLensProvider, reporter))) {
reporter.reportError('must be of type CodeLensOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentLinkProvider');
try {
final documentLinkProvider = obj['documentLinkProvider'];
if (documentLinkProvider != null &&
!(DocumentLinkOptions.canParse(documentLinkProvider, reporter))) {
reporter.reportError('must be of type DocumentLinkOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('colorProvider');
try {
final colorProvider = obj['colorProvider'];
if (colorProvider != null &&
!((colorProvider is bool ||
DocumentColorOptions.canParse(colorProvider, reporter) ||
DocumentColorRegistrationOptions.canParse(
colorProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, DocumentColorOptions, DocumentColorRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentFormattingProvider');
try {
final documentFormattingProvider = obj['documentFormattingProvider'];
if (documentFormattingProvider != null &&
!((documentFormattingProvider is bool ||
DocumentFormattingOptions.canParse(
documentFormattingProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<bool, DocumentFormattingOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentRangeFormattingProvider');
try {
final documentRangeFormattingProvider =
obj['documentRangeFormattingProvider'];
if (documentRangeFormattingProvider != null &&
!((documentRangeFormattingProvider is bool ||
DocumentRangeFormattingOptions.canParse(
documentRangeFormattingProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<bool, DocumentRangeFormattingOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('documentOnTypeFormattingProvider');
try {
final documentOnTypeFormattingProvider =
obj['documentOnTypeFormattingProvider'];
if (documentOnTypeFormattingProvider != null &&
!(DocumentOnTypeFormattingOptions.canParse(
documentOnTypeFormattingProvider, reporter))) {
reporter
.reportError('must be of type DocumentOnTypeFormattingOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('renameProvider');
try {
final renameProvider = obj['renameProvider'];
if (renameProvider != null &&
!((renameProvider is bool ||
RenameOptions.canParse(renameProvider, reporter)))) {
reporter.reportError('must be of type Either2<bool, RenameOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('foldingRangeProvider');
try {
final foldingRangeProvider = obj['foldingRangeProvider'];
if (foldingRangeProvider != null &&
!((foldingRangeProvider is bool ||
FoldingRangeOptions.canParse(foldingRangeProvider, reporter) ||
FoldingRangeRegistrationOptions.canParse(
foldingRangeProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, FoldingRangeOptions, FoldingRangeRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('executeCommandProvider');
try {
final executeCommandProvider = obj['executeCommandProvider'];
if (executeCommandProvider != null &&
!(ExecuteCommandOptions.canParse(
executeCommandProvider, reporter))) {
reporter.reportError('must be of type ExecuteCommandOptions');
return false;
}
} finally {
reporter.pop();
}
reporter.push('selectionRangeProvider');
try {
final selectionRangeProvider = obj['selectionRangeProvider'];
if (selectionRangeProvider != null &&
!((selectionRangeProvider is bool ||
SelectionRangeOptions.canParse(
selectionRangeProvider, reporter) ||
SelectionRangeRegistrationOptions.canParse(
selectionRangeProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, SelectionRangeOptions, SelectionRangeRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('linkedEditingRangeProvider');
try {
final linkedEditingRangeProvider = obj['linkedEditingRangeProvider'];
if (linkedEditingRangeProvider != null &&
!((linkedEditingRangeProvider is bool ||
LinkedEditingRangeOptions.canParse(
linkedEditingRangeProvider, reporter) ||
LinkedEditingRangeRegistrationOptions.canParse(
linkedEditingRangeProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, LinkedEditingRangeOptions, LinkedEditingRangeRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('callHierarchyProvider');
try {
final callHierarchyProvider = obj['callHierarchyProvider'];
if (callHierarchyProvider != null &&
!((callHierarchyProvider is bool ||
CallHierarchyOptions.canParse(
callHierarchyProvider, reporter) ||
CallHierarchyRegistrationOptions.canParse(
callHierarchyProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, CallHierarchyOptions, CallHierarchyRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('semanticTokensProvider');
try {
final semanticTokensProvider = obj['semanticTokensProvider'];
if (semanticTokensProvider != null &&
!((SemanticTokensOptions.canParse(
semanticTokensProvider, reporter) ||
SemanticTokensRegistrationOptions.canParse(
semanticTokensProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<SemanticTokensOptions, SemanticTokensRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('monikerProvider');
try {
final monikerProvider = obj['monikerProvider'];
if (monikerProvider != null &&
!((monikerProvider is bool ||
MonikerOptions.canParse(monikerProvider, reporter) ||
MonikerRegistrationOptions.canParse(
monikerProvider, reporter)))) {
reporter.reportError(
'must be of type Either3<bool, MonikerOptions, MonikerRegistrationOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('workspaceSymbolProvider');
try {
final workspaceSymbolProvider = obj['workspaceSymbolProvider'];
if (workspaceSymbolProvider != null &&
!((workspaceSymbolProvider is bool ||
WorkspaceSymbolOptions.canParse(
workspaceSymbolProvider, reporter)))) {
reporter.reportError(
'must be of type Either2<bool, WorkspaceSymbolOptions>');
return false;
}
} finally {
reporter.pop();
}
reporter.push('workspace');
try {
final workspace = obj['workspace'];
if (workspace != null &&
!(ServerCapabilitiesWorkspace.canParse(workspace, reporter))) {
reporter.reportError('must be of type ServerCapabilitiesWorkspace');
return false;
}
} finally {
reporter.pop();
}
return true;
} else {
reporter.reportError('must be of type ServerCapabilities');
return false;
}
}