// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // // This file has been automatically generated. Please do not edit it manually. // To regenerate the file, use the script // "pkg/analysis_server/tool/spec/generate_files". import 'dart:convert' hide JsonDecoder; import 'package:analyzer/src/generated/utilities_general.dart'; import 'package:analysis_server/protocol/protocol.dart'; import 'package:analysis_server/src/protocol/protocol_internal.dart'; import 'package:analyzer_plugin/protocol/protocol_common.dart'; /// analysis.analyzedFiles params /// /// { /// "directories": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisAnalyzedFilesParams implements HasToJson { List _directories; /// A list of the paths of the files that are being analyzed. List get directories => _directories; /// A list of the paths of the files that are being analyzed. set directories(List value) { assert(value != null); _directories = value; } AnalysisAnalyzedFilesParams(List directories) { this.directories = directories; } factory AnalysisAnalyzedFilesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List directories; if (json.containsKey('directories')) { directories = jsonDecoder.decodeList(jsonPath + '.directories', json['directories'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'directories'); } return AnalysisAnalyzedFilesParams(directories); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.analyzedFiles params', json); } } factory AnalysisAnalyzedFilesParams.fromNotification( Notification notification) { return AnalysisAnalyzedFilesParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['directories'] = directories; return result; } Notification toNotification() { return Notification('analysis.analyzedFiles', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisAnalyzedFilesParams) { return listEqual( directories, other.directories, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, directories.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.closingLabels params /// /// { /// "file": FilePath /// "labels": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisClosingLabelsParams implements HasToJson { String _file; List _labels; /// The file the closing labels relate to. String get file => _file; /// The file the closing labels relate to. set file(String value) { assert(value != null); _file = value; } /// Closing labels relevant to the file. Each item represents a useful label /// associated with some range with may be useful to display to the user /// within the editor at the end of the range to indicate what construct is /// closed at that location. Closing labels include constructor/method calls /// and List arguments that span multiple lines. Note that the ranges that /// are returned can overlap each other because they may be associated with /// constructs that can be nested. List get labels => _labels; /// Closing labels relevant to the file. Each item represents a useful label /// associated with some range with may be useful to display to the user /// within the editor at the end of the range to indicate what construct is /// closed at that location. Closing labels include constructor/method calls /// and List arguments that span multiple lines. Note that the ranges that /// are returned can overlap each other because they may be associated with /// constructs that can be nested. set labels(List value) { assert(value != null); _labels = value; } AnalysisClosingLabelsParams(String file, List labels) { this.file = file; this.labels = labels; } factory AnalysisClosingLabelsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List labels; if (json.containsKey('labels')) { labels = jsonDecoder.decodeList( jsonPath + '.labels', json['labels'], (String jsonPath, Object json) => ClosingLabel.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'labels'); } return AnalysisClosingLabelsParams(file, labels); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.closingLabels params', json); } } factory AnalysisClosingLabelsParams.fromNotification( Notification notification) { return AnalysisClosingLabelsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['labels'] = labels.map((ClosingLabel value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.closingLabels', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisClosingLabelsParams) { return file == other.file && listEqual( labels, other.labels, (ClosingLabel a, ClosingLabel b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, labels.hashCode); return JenkinsSmiHash.finish(hash); } } /// AnalysisErrorFixes /// /// { /// "error": AnalysisError /// "fixes": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisErrorFixes implements HasToJson { AnalysisError _error; List _fixes; /// The error with which the fixes are associated. AnalysisError get error => _error; /// The error with which the fixes are associated. set error(AnalysisError value) { assert(value != null); _error = value; } /// The fixes associated with the error. List get fixes => _fixes; /// The fixes associated with the error. set fixes(List value) { assert(value != null); _fixes = value; } AnalysisErrorFixes(AnalysisError error, {List fixes}) { this.error = error; if (fixes == null) { this.fixes = []; } else { this.fixes = fixes; } } factory AnalysisErrorFixes.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { AnalysisError error; if (json.containsKey('error')) { error = AnalysisError.fromJson( jsonDecoder, jsonPath + '.error', json['error']); } else { throw jsonDecoder.mismatch(jsonPath, 'error'); } List fixes; if (json.containsKey('fixes')) { fixes = jsonDecoder.decodeList( jsonPath + '.fixes', json['fixes'], (String jsonPath, Object json) => SourceChange.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'fixes'); } return AnalysisErrorFixes(error, fixes: fixes); } else { throw jsonDecoder.mismatch(jsonPath, 'AnalysisErrorFixes', json); } } @override Map toJson() { var result = {}; result['error'] = error.toJson(); result['fixes'] = fixes.map((SourceChange value) => value.toJson()).toList(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisErrorFixes) { return error == other.error && listEqual( fixes, other.fixes, (SourceChange a, SourceChange b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, error.hashCode); hash = JenkinsSmiHash.combine(hash, fixes.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.errors params /// /// { /// "file": FilePath /// "errors": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisErrorsParams implements HasToJson { String _file; List _errors; /// The file containing the errors. String get file => _file; /// The file containing the errors. set file(String value) { assert(value != null); _file = value; } /// The errors contained in the file. List get errors => _errors; /// The errors contained in the file. set errors(List value) { assert(value != null); _errors = value; } AnalysisErrorsParams(String file, List errors) { this.file = file; this.errors = errors; } factory AnalysisErrorsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List errors; if (json.containsKey('errors')) { errors = jsonDecoder.decodeList( jsonPath + '.errors', json['errors'], (String jsonPath, Object json) => AnalysisError.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'errors'); } return AnalysisErrorsParams(file, errors); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.errors params', json); } } factory AnalysisErrorsParams.fromNotification(Notification notification) { return AnalysisErrorsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['errors'] = errors.map((AnalysisError value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.errors', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisErrorsParams) { return file == other.file && listEqual(errors, other.errors, (AnalysisError a, AnalysisError b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, errors.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.flushResults params /// /// { /// "files": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisFlushResultsParams implements HasToJson { List _files; /// The files that are no longer being analyzed. List get files => _files; /// The files that are no longer being analyzed. set files(List value) { assert(value != null); _files = value; } AnalysisFlushResultsParams(List files) { this.files = files; } factory AnalysisFlushResultsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return AnalysisFlushResultsParams(files); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.flushResults params', json); } } factory AnalysisFlushResultsParams.fromNotification( Notification notification) { return AnalysisFlushResultsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['files'] = files; return result; } Notification toNotification() { return Notification('analysis.flushResults', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisFlushResultsParams) { return listEqual(files, other.files, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.folding params /// /// { /// "file": FilePath /// "regions": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisFoldingParams implements HasToJson { String _file; List _regions; /// The file containing the folding regions. String get file => _file; /// The file containing the folding regions. set file(String value) { assert(value != null); _file = value; } /// The folding regions contained in the file. List get regions => _regions; /// The folding regions contained in the file. set regions(List value) { assert(value != null); _regions = value; } AnalysisFoldingParams(String file, List regions) { this.file = file; this.regions = regions; } factory AnalysisFoldingParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List regions; if (json.containsKey('regions')) { regions = jsonDecoder.decodeList( jsonPath + '.regions', json['regions'], (String jsonPath, Object json) => FoldingRegion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'regions'); } return AnalysisFoldingParams(file, regions); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.folding params', json); } } factory AnalysisFoldingParams.fromNotification(Notification notification) { return AnalysisFoldingParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['regions'] = regions.map((FoldingRegion value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.folding', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisFoldingParams) { return file == other.file && listEqual(regions, other.regions, (FoldingRegion a, FoldingRegion b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, regions.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getErrors params /// /// { /// "file": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetErrorsParams implements RequestParams { String _file; /// The file for which errors are being requested. String get file => _file; /// The file for which errors are being requested. set file(String value) { assert(value != null); _file = value; } AnalysisGetErrorsParams(String file) { this.file = file; } factory AnalysisGetErrorsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } return AnalysisGetErrorsParams(file); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.getErrors params', json); } } factory AnalysisGetErrorsParams.fromRequest(Request request) { return AnalysisGetErrorsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getErrors', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetErrorsParams) { return file == other.file; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getErrors result /// /// { /// "errors": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetErrorsResult implements ResponseResult { List _errors; /// The errors associated with the file. List get errors => _errors; /// The errors associated with the file. set errors(List value) { assert(value != null); _errors = value; } AnalysisGetErrorsResult(List errors) { this.errors = errors; } factory AnalysisGetErrorsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List errors; if (json.containsKey('errors')) { errors = jsonDecoder.decodeList( jsonPath + '.errors', json['errors'], (String jsonPath, Object json) => AnalysisError.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'errors'); } return AnalysisGetErrorsResult(errors); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.getErrors result', json); } } factory AnalysisGetErrorsResult.fromResponse(Response response) { return AnalysisGetErrorsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['errors'] = errors.map((AnalysisError value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetErrorsResult) { return listEqual( errors, other.errors, (AnalysisError a, AnalysisError b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, errors.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getHover params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetHoverParams implements RequestParams { String _file; int _offset; /// The file in which hover information is being requested. String get file => _file; /// The file in which hover information is being requested. set file(String value) { assert(value != null); _file = value; } /// The offset for which hover information is being requested. int get offset => _offset; /// The offset for which hover information is being requested. set offset(int value) { assert(value != null); _offset = value; } AnalysisGetHoverParams(String file, int offset) { this.file = file; this.offset = offset; } factory AnalysisGetHoverParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return AnalysisGetHoverParams(file, offset); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.getHover params', json); } } factory AnalysisGetHoverParams.fromRequest(Request request) { return AnalysisGetHoverParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getHover', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetHoverParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getHover result /// /// { /// "hovers": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetHoverResult implements ResponseResult { List _hovers; /// The hover information associated with the location. The list will be /// empty if no information could be determined for the location. The list /// can contain multiple items if the file is being analyzed in multiple /// contexts in conflicting ways (such as a part that is included in multiple /// libraries). List get hovers => _hovers; /// The hover information associated with the location. The list will be /// empty if no information could be determined for the location. The list /// can contain multiple items if the file is being analyzed in multiple /// contexts in conflicting ways (such as a part that is included in multiple /// libraries). set hovers(List value) { assert(value != null); _hovers = value; } AnalysisGetHoverResult(List hovers) { this.hovers = hovers; } factory AnalysisGetHoverResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List hovers; if (json.containsKey('hovers')) { hovers = jsonDecoder.decodeList( jsonPath + '.hovers', json['hovers'], (String jsonPath, Object json) => HoverInformation.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'hovers'); } return AnalysisGetHoverResult(hovers); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.getHover result', json); } } factory AnalysisGetHoverResult.fromResponse(Response response) { return AnalysisGetHoverResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['hovers'] = hovers.map((HoverInformation value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetHoverResult) { return listEqual(hovers, other.hovers, (HoverInformation a, HoverInformation b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, hovers.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getImportedElements params /// /// { /// "file": FilePath /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetImportedElementsParams implements RequestParams { String _file; int _offset; int _length; /// The file in which import information is being requested. String get file => _file; /// The file in which import information is being requested. set file(String value) { assert(value != null); _file = value; } /// The offset of the region for which import information is being requested. int get offset => _offset; /// The offset of the region for which import information is being requested. set offset(int value) { assert(value != null); _offset = value; } /// The length of the region for which import information is being requested. int get length => _length; /// The length of the region for which import information is being requested. set length(int value) { assert(value != null); _length = value; } AnalysisGetImportedElementsParams(String file, int offset, int length) { this.file = file; this.offset = offset; this.length = length; } factory AnalysisGetImportedElementsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return AnalysisGetImportedElementsParams(file, offset, length); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getImportedElements params', json); } } factory AnalysisGetImportedElementsParams.fromRequest(Request request) { return AnalysisGetImportedElementsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['length'] = length; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getImportedElements', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetImportedElementsParams) { return file == other.file && offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getImportedElements result /// /// { /// "elements": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetImportedElementsResult implements ResponseResult { List _elements; /// The information about the elements that are referenced in the specified /// region of the specified file that come from imported libraries. List get elements => _elements; /// The information about the elements that are referenced in the specified /// region of the specified file that come from imported libraries. set elements(List value) { assert(value != null); _elements = value; } AnalysisGetImportedElementsResult(List elements) { this.elements = elements; } factory AnalysisGetImportedElementsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List elements; if (json.containsKey('elements')) { elements = jsonDecoder.decodeList( jsonPath + '.elements', json['elements'], (String jsonPath, Object json) => ImportedElements.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'elements'); } return AnalysisGetImportedElementsResult(elements); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getImportedElements result', json); } } factory AnalysisGetImportedElementsResult.fromResponse(Response response) { return AnalysisGetImportedElementsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['elements'] = elements.map((ImportedElements value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetImportedElementsResult) { return listEqual(elements, other.elements, (ImportedElements a, ImportedElements b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, elements.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getLibraryDependencies params /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetLibraryDependenciesParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'analysis.getLibraryDependencies', null); } @override bool operator ==(other) { if (other is AnalysisGetLibraryDependenciesParams) { return true; } return false; } @override int get hashCode { return 246577680; } } /// analysis.getLibraryDependencies result /// /// { /// "libraries": List /// "packageMap": Map>> /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetLibraryDependenciesResult implements ResponseResult { List _libraries; Map>> _packageMap; /// A list of the paths of library elements referenced by files in existing /// analysis roots. List get libraries => _libraries; /// A list of the paths of library elements referenced by files in existing /// analysis roots. set libraries(List value) { assert(value != null); _libraries = value; } /// A mapping from context source roots to package maps which map package /// names to source directories for use in client-side package URI /// resolution. Map>> get packageMap => _packageMap; /// A mapping from context source roots to package maps which map package /// names to source directories for use in client-side package URI /// resolution. set packageMap(Map>> value) { assert(value != null); _packageMap = value; } AnalysisGetLibraryDependenciesResult(List libraries, Map>> packageMap) { this.libraries = libraries; this.packageMap = packageMap; } factory AnalysisGetLibraryDependenciesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List libraries; if (json.containsKey('libraries')) { libraries = jsonDecoder.decodeList(jsonPath + '.libraries', json['libraries'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'libraries'); } Map>> packageMap; if (json.containsKey('packageMap')) { packageMap = jsonDecoder.decodeMap( jsonPath + '.packageMap', json['packageMap'], valueDecoder: (String jsonPath, Object json) => jsonDecoder.decodeMap(jsonPath, json, valueDecoder: (String jsonPath, Object json) => jsonDecoder .decodeList(jsonPath, json, jsonDecoder.decodeString))); } else { throw jsonDecoder.mismatch(jsonPath, 'packageMap'); } return AnalysisGetLibraryDependenciesResult(libraries, packageMap); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getLibraryDependencies result', json); } } factory AnalysisGetLibraryDependenciesResult.fromResponse(Response response) { return AnalysisGetLibraryDependenciesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['libraries'] = libraries; result['packageMap'] = packageMap; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetLibraryDependenciesResult) { return listEqual( libraries, other.libraries, (String a, String b) => a == b) && mapEqual( packageMap, other.packageMap, (Map> a, Map> b) => mapEqual( a, b, (List a, List b) => listEqual(a, b, (String a, String b) => a == b))); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, libraries.hashCode); hash = JenkinsSmiHash.combine(hash, packageMap.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getNavigation params /// /// { /// "file": FilePath /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetNavigationParams implements RequestParams { String _file; int _offset; int _length; /// The file in which navigation information is being requested. String get file => _file; /// The file in which navigation information is being requested. set file(String value) { assert(value != null); _file = value; } /// The offset of the region for which navigation information is being /// requested. int get offset => _offset; /// The offset of the region for which navigation information is being /// requested. set offset(int value) { assert(value != null); _offset = value; } /// The length of the region for which navigation information is being /// requested. int get length => _length; /// The length of the region for which navigation information is being /// requested. set length(int value) { assert(value != null); _length = value; } AnalysisGetNavigationParams(String file, int offset, int length) { this.file = file; this.offset = offset; this.length = length; } factory AnalysisGetNavigationParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return AnalysisGetNavigationParams(file, offset, length); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getNavigation params', json); } } factory AnalysisGetNavigationParams.fromRequest(Request request) { return AnalysisGetNavigationParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['length'] = length; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getNavigation', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetNavigationParams) { return file == other.file && offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getNavigation result /// /// { /// "files": List /// "targets": List /// "regions": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetNavigationResult implements ResponseResult { List _files; List _targets; List _regions; /// A list of the paths of files that are referenced by the navigation /// targets. List get files => _files; /// A list of the paths of files that are referenced by the navigation /// targets. set files(List value) { assert(value != null); _files = value; } /// A list of the navigation targets that are referenced by the navigation /// regions. List get targets => _targets; /// A list of the navigation targets that are referenced by the navigation /// regions. set targets(List value) { assert(value != null); _targets = value; } /// A list of the navigation regions within the requested region of the file. List get regions => _regions; /// A list of the navigation regions within the requested region of the file. set regions(List value) { assert(value != null); _regions = value; } AnalysisGetNavigationResult(List files, List targets, List regions) { this.files = files; this.targets = targets; this.regions = regions; } factory AnalysisGetNavigationResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } List targets; if (json.containsKey('targets')) { targets = jsonDecoder.decodeList( jsonPath + '.targets', json['targets'], (String jsonPath, Object json) => NavigationTarget.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'targets'); } List regions; if (json.containsKey('regions')) { regions = jsonDecoder.decodeList( jsonPath + '.regions', json['regions'], (String jsonPath, Object json) => NavigationRegion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'regions'); } return AnalysisGetNavigationResult(files, targets, regions); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getNavigation result', json); } } factory AnalysisGetNavigationResult.fromResponse(Response response) { return AnalysisGetNavigationResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['files'] = files; result['targets'] = targets.map((NavigationTarget value) => value.toJson()).toList(); result['regions'] = regions.map((NavigationRegion value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetNavigationResult) { return listEqual(files, other.files, (String a, String b) => a == b) && listEqual(targets, other.targets, (NavigationTarget a, NavigationTarget b) => a == b) && listEqual(regions, other.regions, (NavigationRegion a, NavigationRegion b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, files.hashCode); hash = JenkinsSmiHash.combine(hash, targets.hashCode); hash = JenkinsSmiHash.combine(hash, regions.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getReachableSources params /// /// { /// "file": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetReachableSourcesParams implements RequestParams { String _file; /// The file for which reachable source information is being requested. String get file => _file; /// The file for which reachable source information is being requested. set file(String value) { assert(value != null); _file = value; } AnalysisGetReachableSourcesParams(String file) { this.file = file; } factory AnalysisGetReachableSourcesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } return AnalysisGetReachableSourcesParams(file); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getReachableSources params', json); } } factory AnalysisGetReachableSourcesParams.fromRequest(Request request) { return AnalysisGetReachableSourcesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getReachableSources', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetReachableSourcesParams) { return file == other.file; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getReachableSources result /// /// { /// "sources": Map> /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetReachableSourcesResult implements ResponseResult { Map> _sources; /// A mapping from source URIs to directly reachable source URIs. For /// example, a file "foo.dart" that imports "bar.dart" would have the /// corresponding mapping { "file:///foo.dart" : ["file:///bar.dart"] }. If /// "bar.dart" has further imports (or exports) there will be a mapping from /// the URI "file:///bar.dart" to them. To check if a specific URI is /// reachable from a given file, clients can check for its presence in the /// resulting key set. Map> get sources => _sources; /// A mapping from source URIs to directly reachable source URIs. For /// example, a file "foo.dart" that imports "bar.dart" would have the /// corresponding mapping { "file:///foo.dart" : ["file:///bar.dart"] }. If /// "bar.dart" has further imports (or exports) there will be a mapping from /// the URI "file:///bar.dart" to them. To check if a specific URI is /// reachable from a given file, clients can check for its presence in the /// resulting key set. set sources(Map> value) { assert(value != null); _sources = value; } AnalysisGetReachableSourcesResult(Map> sources) { this.sources = sources; } factory AnalysisGetReachableSourcesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Map> sources; if (json.containsKey('sources')) { sources = jsonDecoder.decodeMap(jsonPath + '.sources', json['sources'], valueDecoder: (String jsonPath, Object json) => jsonDecoder .decodeList(jsonPath, json, jsonDecoder.decodeString)); } else { throw jsonDecoder.mismatch(jsonPath, 'sources'); } return AnalysisGetReachableSourcesResult(sources); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getReachableSources result', json); } } factory AnalysisGetReachableSourcesResult.fromResponse(Response response) { return AnalysisGetReachableSourcesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['sources'] = sources; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetReachableSourcesResult) { return mapEqual( sources, other.sources, (List a, List b) => listEqual(a, b, (String a, String b) => a == b)); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, sources.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getSignature params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetSignatureParams implements RequestParams { String _file; int _offset; /// The file in which signature information is being requested. String get file => _file; /// The file in which signature information is being requested. set file(String value) { assert(value != null); _file = value; } /// The location for which signature information is being requested. int get offset => _offset; /// The location for which signature information is being requested. set offset(int value) { assert(value != null); _offset = value; } AnalysisGetSignatureParams(String file, int offset) { this.file = file; this.offset = offset; } factory AnalysisGetSignatureParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return AnalysisGetSignatureParams(file, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getSignature params', json); } } factory AnalysisGetSignatureParams.fromRequest(Request request) { return AnalysisGetSignatureParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.getSignature', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetSignatureParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.getSignature result /// /// { /// "name": String /// "parameters": List /// "dartdoc": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisGetSignatureResult implements ResponseResult { String _name; List _parameters; String _dartdoc; /// The name of the function being invoked at the given offset. String get name => _name; /// The name of the function being invoked at the given offset. set name(String value) { assert(value != null); _name = value; } /// A list of information about each of the parameters of the function being /// invoked. List get parameters => _parameters; /// A list of information about each of the parameters of the function being /// invoked. set parameters(List value) { assert(value != null); _parameters = value; } /// The dartdoc associated with the function being invoked. Other than the /// removal of the comment delimiters, including leading asterisks in the /// case of a block comment, the dartdoc is unprocessed markdown. This data /// is omitted if there is no referenced element, or if the element has no /// dartdoc. String get dartdoc => _dartdoc; /// The dartdoc associated with the function being invoked. Other than the /// removal of the comment delimiters, including leading asterisks in the /// case of a block comment, the dartdoc is unprocessed markdown. This data /// is omitted if there is no referenced element, or if the element has no /// dartdoc. set dartdoc(String value) { _dartdoc = value; } AnalysisGetSignatureResult(String name, List parameters, {String dartdoc}) { this.name = name; this.parameters = parameters; this.dartdoc = dartdoc; } factory AnalysisGetSignatureResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } List parameters; if (json.containsKey('parameters')) { parameters = jsonDecoder.decodeList( jsonPath + '.parameters', json['parameters'], (String jsonPath, Object json) => ParameterInfo.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'parameters'); } String dartdoc; if (json.containsKey('dartdoc')) { dartdoc = jsonDecoder.decodeString(jsonPath + '.dartdoc', json['dartdoc']); } return AnalysisGetSignatureResult(name, parameters, dartdoc: dartdoc); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.getSignature result', json); } } factory AnalysisGetSignatureResult.fromResponse(Response response) { return AnalysisGetSignatureResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['name'] = name; result['parameters'] = parameters.map((ParameterInfo value) => value.toJson()).toList(); if (dartdoc != null) { result['dartdoc'] = dartdoc; } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisGetSignatureResult) { return name == other.name && listEqual(parameters, other.parameters, (ParameterInfo a, ParameterInfo b) => a == b) && dartdoc == other.dartdoc; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, parameters.hashCode); hash = JenkinsSmiHash.combine(hash, dartdoc.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.highlights params /// /// { /// "file": FilePath /// "regions": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisHighlightsParams implements HasToJson { String _file; List _regions; /// The file containing the highlight regions. String get file => _file; /// The file containing the highlight regions. set file(String value) { assert(value != null); _file = value; } /// The highlight regions contained in the file. Each highlight region /// represents a particular syntactic or semantic meaning associated with /// some range. Note that the highlight regions that are returned can overlap /// other highlight regions if there is more than one meaning associated with /// a particular region. List get regions => _regions; /// The highlight regions contained in the file. Each highlight region /// represents a particular syntactic or semantic meaning associated with /// some range. Note that the highlight regions that are returned can overlap /// other highlight regions if there is more than one meaning associated with /// a particular region. set regions(List value) { assert(value != null); _regions = value; } AnalysisHighlightsParams(String file, List regions) { this.file = file; this.regions = regions; } factory AnalysisHighlightsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List regions; if (json.containsKey('regions')) { regions = jsonDecoder.decodeList( jsonPath + '.regions', json['regions'], (String jsonPath, Object json) => HighlightRegion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'regions'); } return AnalysisHighlightsParams(file, regions); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.highlights params', json); } } factory AnalysisHighlightsParams.fromNotification(Notification notification) { return AnalysisHighlightsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['regions'] = regions.map((HighlightRegion value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.highlights', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisHighlightsParams) { return file == other.file && listEqual(regions, other.regions, (HighlightRegion a, HighlightRegion b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, regions.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.implemented params /// /// { /// "file": FilePath /// "classes": List /// "members": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisImplementedParams implements HasToJson { String _file; List _classes; List _members; /// The file with which the implementations are associated. String get file => _file; /// The file with which the implementations are associated. set file(String value) { assert(value != null); _file = value; } /// The classes defined in the file that are implemented or extended. List get classes => _classes; /// The classes defined in the file that are implemented or extended. set classes(List value) { assert(value != null); _classes = value; } /// The member defined in the file that are implemented or overridden. List get members => _members; /// The member defined in the file that are implemented or overridden. set members(List value) { assert(value != null); _members = value; } AnalysisImplementedParams(String file, List classes, List members) { this.file = file; this.classes = classes; this.members = members; } factory AnalysisImplementedParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List classes; if (json.containsKey('classes')) { classes = jsonDecoder.decodeList( jsonPath + '.classes', json['classes'], (String jsonPath, Object json) => ImplementedClass.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'classes'); } List members; if (json.containsKey('members')) { members = jsonDecoder.decodeList( jsonPath + '.members', json['members'], (String jsonPath, Object json) => ImplementedMember.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'members'); } return AnalysisImplementedParams(file, classes, members); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.implemented params', json); } } factory AnalysisImplementedParams.fromNotification( Notification notification) { return AnalysisImplementedParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['classes'] = classes.map((ImplementedClass value) => value.toJson()).toList(); result['members'] = members.map((ImplementedMember value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.implemented', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisImplementedParams) { return file == other.file && listEqual(classes, other.classes, (ImplementedClass a, ImplementedClass b) => a == b) && listEqual(members, other.members, (ImplementedMember a, ImplementedMember b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, classes.hashCode); hash = JenkinsSmiHash.combine(hash, members.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.invalidate params /// /// { /// "file": FilePath /// "offset": int /// "length": int /// "delta": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisInvalidateParams implements HasToJson { String _file; int _offset; int _length; int _delta; /// The file whose information has been invalidated. String get file => _file; /// The file whose information has been invalidated. set file(String value) { assert(value != null); _file = value; } /// The offset of the invalidated region. int get offset => _offset; /// The offset of the invalidated region. set offset(int value) { assert(value != null); _offset = value; } /// The length of the invalidated region. int get length => _length; /// The length of the invalidated region. set length(int value) { assert(value != null); _length = value; } /// The delta to be applied to the offsets in information that follows the /// invalidated region in order to update it so that it doesn't need to be /// re-requested. int get delta => _delta; /// The delta to be applied to the offsets in information that follows the /// invalidated region in order to update it so that it doesn't need to be /// re-requested. set delta(int value) { assert(value != null); _delta = value; } AnalysisInvalidateParams(String file, int offset, int length, int delta) { this.file = file; this.offset = offset; this.length = length; this.delta = delta; } factory AnalysisInvalidateParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } int delta; if (json.containsKey('delta')) { delta = jsonDecoder.decodeInt(jsonPath + '.delta', json['delta']); } else { throw jsonDecoder.mismatch(jsonPath, 'delta'); } return AnalysisInvalidateParams(file, offset, length, delta); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.invalidate params', json); } } factory AnalysisInvalidateParams.fromNotification(Notification notification) { return AnalysisInvalidateParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['length'] = length; result['delta'] = delta; return result; } Notification toNotification() { return Notification('analysis.invalidate', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisInvalidateParams) { return file == other.file && offset == other.offset && length == other.length && delta == other.delta; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, delta.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.navigation params /// /// { /// "file": FilePath /// "regions": List /// "targets": List /// "files": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisNavigationParams implements HasToJson { String _file; List _regions; List _targets; List _files; /// The file containing the navigation regions. String get file => _file; /// The file containing the navigation regions. set file(String value) { assert(value != null); _file = value; } /// The navigation regions contained in the file. The regions are sorted by /// their offsets. Each navigation region represents a list of targets /// associated with some range. The lists will usually contain a single /// target, but can contain more in the case of a part that is included in /// multiple libraries or in Dart code that is compiled against multiple /// versions of a package. Note that the navigation regions that are returned /// do not overlap other navigation regions. List get regions => _regions; /// The navigation regions contained in the file. The regions are sorted by /// their offsets. Each navigation region represents a list of targets /// associated with some range. The lists will usually contain a single /// target, but can contain more in the case of a part that is included in /// multiple libraries or in Dart code that is compiled against multiple /// versions of a package. Note that the navigation regions that are returned /// do not overlap other navigation regions. set regions(List value) { assert(value != null); _regions = value; } /// The navigation targets referenced in the file. They are referenced by /// NavigationRegions by their index in this array. List get targets => _targets; /// The navigation targets referenced in the file. They are referenced by /// NavigationRegions by their index in this array. set targets(List value) { assert(value != null); _targets = value; } /// The files containing navigation targets referenced in the file. They are /// referenced by NavigationTargets by their index in this array. List get files => _files; /// The files containing navigation targets referenced in the file. They are /// referenced by NavigationTargets by their index in this array. set files(List value) { assert(value != null); _files = value; } AnalysisNavigationParams(String file, List regions, List targets, List files) { this.file = file; this.regions = regions; this.targets = targets; this.files = files; } factory AnalysisNavigationParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List regions; if (json.containsKey('regions')) { regions = jsonDecoder.decodeList( jsonPath + '.regions', json['regions'], (String jsonPath, Object json) => NavigationRegion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'regions'); } List targets; if (json.containsKey('targets')) { targets = jsonDecoder.decodeList( jsonPath + '.targets', json['targets'], (String jsonPath, Object json) => NavigationTarget.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'targets'); } List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return AnalysisNavigationParams(file, regions, targets, files); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.navigation params', json); } } factory AnalysisNavigationParams.fromNotification(Notification notification) { return AnalysisNavigationParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['regions'] = regions.map((NavigationRegion value) => value.toJson()).toList(); result['targets'] = targets.map((NavigationTarget value) => value.toJson()).toList(); result['files'] = files; return result; } Notification toNotification() { return Notification('analysis.navigation', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisNavigationParams) { return file == other.file && listEqual(regions, other.regions, (NavigationRegion a, NavigationRegion b) => a == b) && listEqual(targets, other.targets, (NavigationTarget a, NavigationTarget b) => a == b) && listEqual(files, other.files, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, regions.hashCode); hash = JenkinsSmiHash.combine(hash, targets.hashCode); hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.occurrences params /// /// { /// "file": FilePath /// "occurrences": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisOccurrencesParams implements HasToJson { String _file; List _occurrences; /// The file in which the references occur. String get file => _file; /// The file in which the references occur. set file(String value) { assert(value != null); _file = value; } /// The occurrences of references to elements within the file. List get occurrences => _occurrences; /// The occurrences of references to elements within the file. set occurrences(List value) { assert(value != null); _occurrences = value; } AnalysisOccurrencesParams(String file, List occurrences) { this.file = file; this.occurrences = occurrences; } factory AnalysisOccurrencesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List occurrences; if (json.containsKey('occurrences')) { occurrences = jsonDecoder.decodeList( jsonPath + '.occurrences', json['occurrences'], (String jsonPath, Object json) => Occurrences.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'occurrences'); } return AnalysisOccurrencesParams(file, occurrences); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.occurrences params', json); } } factory AnalysisOccurrencesParams.fromNotification( Notification notification) { return AnalysisOccurrencesParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['occurrences'] = occurrences.map((Occurrences value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.occurrences', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisOccurrencesParams) { return file == other.file && listEqual(occurrences, other.occurrences, (Occurrences a, Occurrences b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, occurrences.hashCode); return JenkinsSmiHash.finish(hash); } } /// AnalysisOptions /// /// { /// "enableAsync": optional bool /// "enableDeferredLoading": optional bool /// "enableEnums": optional bool /// "enableNullAwareOperators": optional bool /// "enableSuperMixins": optional bool /// "generateDart2jsHints": optional bool /// "generateHints": optional bool /// "generateLints": optional bool /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisOptions implements HasToJson { bool _enableAsync; bool _enableDeferredLoading; bool _enableEnums; bool _enableNullAwareOperators; bool _enableSuperMixins; bool _generateDart2jsHints; bool _generateHints; bool _generateLints; /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed async /// feature. bool get enableAsync => _enableAsync; /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed async /// feature. set enableAsync(bool value) { _enableAsync = value; } /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed deferred /// loading feature. bool get enableDeferredLoading => _enableDeferredLoading; /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed deferred /// loading feature. set enableDeferredLoading(bool value) { _enableDeferredLoading = value; } /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed enum feature. bool get enableEnums => _enableEnums; /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed enum feature. set enableEnums(bool value) { _enableEnums = value; } /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed "null aware /// operators" feature. bool get enableNullAwareOperators => _enableNullAwareOperators; /// Deprecated: this feature is always enabled. /// /// True if the client wants to enable support for the proposed "null aware /// operators" feature. set enableNullAwareOperators(bool value) { _enableNullAwareOperators = value; } /// True if the client wants to enable support for the proposed "less /// restricted mixins" proposal (DEP 34). bool get enableSuperMixins => _enableSuperMixins; /// True if the client wants to enable support for the proposed "less /// restricted mixins" proposal (DEP 34). set enableSuperMixins(bool value) { _enableSuperMixins = value; } /// True if hints that are specific to dart2js should be generated. This /// option is ignored if generateHints is false. bool get generateDart2jsHints => _generateDart2jsHints; /// True if hints that are specific to dart2js should be generated. This /// option is ignored if generateHints is false. set generateDart2jsHints(bool value) { _generateDart2jsHints = value; } /// True if hints should be generated as part of generating errors and /// warnings. bool get generateHints => _generateHints; /// True if hints should be generated as part of generating errors and /// warnings. set generateHints(bool value) { _generateHints = value; } /// True if lints should be generated as part of generating errors and /// warnings. bool get generateLints => _generateLints; /// True if lints should be generated as part of generating errors and /// warnings. set generateLints(bool value) { _generateLints = value; } AnalysisOptions( {bool enableAsync, bool enableDeferredLoading, bool enableEnums, bool enableNullAwareOperators, bool enableSuperMixins, bool generateDart2jsHints, bool generateHints, bool generateLints}) { this.enableAsync = enableAsync; this.enableDeferredLoading = enableDeferredLoading; this.enableEnums = enableEnums; this.enableNullAwareOperators = enableNullAwareOperators; this.enableSuperMixins = enableSuperMixins; this.generateDart2jsHints = generateDart2jsHints; this.generateHints = generateHints; this.generateLints = generateLints; } factory AnalysisOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool enableAsync; if (json.containsKey('enableAsync')) { enableAsync = jsonDecoder.decodeBool( jsonPath + '.enableAsync', json['enableAsync']); } bool enableDeferredLoading; if (json.containsKey('enableDeferredLoading')) { enableDeferredLoading = jsonDecoder.decodeBool( jsonPath + '.enableDeferredLoading', json['enableDeferredLoading']); } bool enableEnums; if (json.containsKey('enableEnums')) { enableEnums = jsonDecoder.decodeBool( jsonPath + '.enableEnums', json['enableEnums']); } bool enableNullAwareOperators; if (json.containsKey('enableNullAwareOperators')) { enableNullAwareOperators = jsonDecoder.decodeBool( jsonPath + '.enableNullAwareOperators', json['enableNullAwareOperators']); } bool enableSuperMixins; if (json.containsKey('enableSuperMixins')) { enableSuperMixins = jsonDecoder.decodeBool( jsonPath + '.enableSuperMixins', json['enableSuperMixins']); } bool generateDart2jsHints; if (json.containsKey('generateDart2jsHints')) { generateDart2jsHints = jsonDecoder.decodeBool( jsonPath + '.generateDart2jsHints', json['generateDart2jsHints']); } bool generateHints; if (json.containsKey('generateHints')) { generateHints = jsonDecoder.decodeBool( jsonPath + '.generateHints', json['generateHints']); } bool generateLints; if (json.containsKey('generateLints')) { generateLints = jsonDecoder.decodeBool( jsonPath + '.generateLints', json['generateLints']); } return AnalysisOptions( enableAsync: enableAsync, enableDeferredLoading: enableDeferredLoading, enableEnums: enableEnums, enableNullAwareOperators: enableNullAwareOperators, enableSuperMixins: enableSuperMixins, generateDart2jsHints: generateDart2jsHints, generateHints: generateHints, generateLints: generateLints); } else { throw jsonDecoder.mismatch(jsonPath, 'AnalysisOptions', json); } } @override Map toJson() { var result = {}; if (enableAsync != null) { result['enableAsync'] = enableAsync; } if (enableDeferredLoading != null) { result['enableDeferredLoading'] = enableDeferredLoading; } if (enableEnums != null) { result['enableEnums'] = enableEnums; } if (enableNullAwareOperators != null) { result['enableNullAwareOperators'] = enableNullAwareOperators; } if (enableSuperMixins != null) { result['enableSuperMixins'] = enableSuperMixins; } if (generateDart2jsHints != null) { result['generateDart2jsHints'] = generateDart2jsHints; } if (generateHints != null) { result['generateHints'] = generateHints; } if (generateLints != null) { result['generateLints'] = generateLints; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisOptions) { return enableAsync == other.enableAsync && enableDeferredLoading == other.enableDeferredLoading && enableEnums == other.enableEnums && enableNullAwareOperators == other.enableNullAwareOperators && enableSuperMixins == other.enableSuperMixins && generateDart2jsHints == other.generateDart2jsHints && generateHints == other.generateHints && generateLints == other.generateLints; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, enableAsync.hashCode); hash = JenkinsSmiHash.combine(hash, enableDeferredLoading.hashCode); hash = JenkinsSmiHash.combine(hash, enableEnums.hashCode); hash = JenkinsSmiHash.combine(hash, enableNullAwareOperators.hashCode); hash = JenkinsSmiHash.combine(hash, enableSuperMixins.hashCode); hash = JenkinsSmiHash.combine(hash, generateDart2jsHints.hashCode); hash = JenkinsSmiHash.combine(hash, generateHints.hashCode); hash = JenkinsSmiHash.combine(hash, generateLints.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.outline params /// /// { /// "file": FilePath /// "kind": FileKind /// "libraryName": optional String /// "outline": Outline /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisOutlineParams implements HasToJson { String _file; FileKind _kind; String _libraryName; Outline _outline; /// The file with which the outline is associated. String get file => _file; /// The file with which the outline is associated. set file(String value) { assert(value != null); _file = value; } /// The kind of the file. FileKind get kind => _kind; /// The kind of the file. set kind(FileKind value) { assert(value != null); _kind = value; } /// The name of the library defined by the file using a "library" directive, /// or referenced by a "part of" directive. If both "library" and "part of" /// directives are present, then the "library" directive takes precedence. /// This field will be omitted if the file has neither "library" nor "part /// of" directives. String get libraryName => _libraryName; /// The name of the library defined by the file using a "library" directive, /// or referenced by a "part of" directive. If both "library" and "part of" /// directives are present, then the "library" directive takes precedence. /// This field will be omitted if the file has neither "library" nor "part /// of" directives. set libraryName(String value) { _libraryName = value; } /// The outline associated with the file. Outline get outline => _outline; /// The outline associated with the file. set outline(Outline value) { assert(value != null); _outline = value; } AnalysisOutlineParams(String file, FileKind kind, Outline outline, {String libraryName}) { this.file = file; this.kind = kind; this.libraryName = libraryName; this.outline = outline; } factory AnalysisOutlineParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } FileKind kind; if (json.containsKey('kind')) { kind = FileKind.fromJson(jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } String libraryName; if (json.containsKey('libraryName')) { libraryName = jsonDecoder.decodeString( jsonPath + '.libraryName', json['libraryName']); } Outline outline; if (json.containsKey('outline')) { outline = Outline.fromJson( jsonDecoder, jsonPath + '.outline', json['outline']); } else { throw jsonDecoder.mismatch(jsonPath, 'outline'); } return AnalysisOutlineParams(file, kind, outline, libraryName: libraryName); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.outline params', json); } } factory AnalysisOutlineParams.fromNotification(Notification notification) { return AnalysisOutlineParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['kind'] = kind.toJson(); if (libraryName != null) { result['libraryName'] = libraryName; } result['outline'] = outline.toJson(); return result; } Notification toNotification() { return Notification('analysis.outline', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisOutlineParams) { return file == other.file && kind == other.kind && libraryName == other.libraryName && outline == other.outline; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, libraryName.hashCode); hash = JenkinsSmiHash.combine(hash, outline.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.overrides params /// /// { /// "file": FilePath /// "overrides": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisOverridesParams implements HasToJson { String _file; List _overrides; /// The file with which the overrides are associated. String get file => _file; /// The file with which the overrides are associated. set file(String value) { assert(value != null); _file = value; } /// The overrides associated with the file. List get overrides => _overrides; /// The overrides associated with the file. set overrides(List value) { assert(value != null); _overrides = value; } AnalysisOverridesParams(String file, List overrides) { this.file = file; this.overrides = overrides; } factory AnalysisOverridesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List overrides; if (json.containsKey('overrides')) { overrides = jsonDecoder.decodeList( jsonPath + '.overrides', json['overrides'], (String jsonPath, Object json) => Override.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'overrides'); } return AnalysisOverridesParams(file, overrides); } else { throw jsonDecoder.mismatch(jsonPath, 'analysis.overrides params', json); } } factory AnalysisOverridesParams.fromNotification(Notification notification) { return AnalysisOverridesParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['overrides'] = overrides.map((Override value) => value.toJson()).toList(); return result; } Notification toNotification() { return Notification('analysis.overrides', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisOverridesParams) { return file == other.file && listEqual( overrides, other.overrides, (Override a, Override b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, overrides.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.reanalyze params /// /// Clients may not extend, implement or mix-in this class. class AnalysisReanalyzeParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'analysis.reanalyze', null); } @override bool operator ==(other) { if (other is AnalysisReanalyzeParams) { return true; } return false; } @override int get hashCode { return 613039876; } } /// analysis.reanalyze result /// /// Clients may not extend, implement or mix-in this class. class AnalysisReanalyzeResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisReanalyzeResult) { return true; } return false; } @override int get hashCode { return 846803925; } } /// AnalysisService /// /// enum { /// CLOSING_LABELS /// FOLDING /// HIGHLIGHTS /// IMPLEMENTED /// INVALIDATE /// NAVIGATION /// OCCURRENCES /// OUTLINE /// OVERRIDES /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisService implements Enum { static const AnalysisService CLOSING_LABELS = AnalysisService._('CLOSING_LABELS'); static const AnalysisService FOLDING = AnalysisService._('FOLDING'); static const AnalysisService HIGHLIGHTS = AnalysisService._('HIGHLIGHTS'); static const AnalysisService IMPLEMENTED = AnalysisService._('IMPLEMENTED'); /// This service is not currently implemented and will become a /// GeneralAnalysisService in a future release. static const AnalysisService INVALIDATE = AnalysisService._('INVALIDATE'); static const AnalysisService NAVIGATION = AnalysisService._('NAVIGATION'); static const AnalysisService OCCURRENCES = AnalysisService._('OCCURRENCES'); static const AnalysisService OUTLINE = AnalysisService._('OUTLINE'); static const AnalysisService OVERRIDES = AnalysisService._('OVERRIDES'); /// A list containing all of the enum values that are defined. static const List VALUES = [ CLOSING_LABELS, FOLDING, HIGHLIGHTS, IMPLEMENTED, INVALIDATE, NAVIGATION, OCCURRENCES, OUTLINE, OVERRIDES ]; @override final String name; const AnalysisService._(this.name); factory AnalysisService(String name) { switch (name) { case 'CLOSING_LABELS': return CLOSING_LABELS; case 'FOLDING': return FOLDING; case 'HIGHLIGHTS': return HIGHLIGHTS; case 'IMPLEMENTED': return IMPLEMENTED; case 'INVALIDATE': return INVALIDATE; case 'NAVIGATION': return NAVIGATION; case 'OCCURRENCES': return OCCURRENCES; case 'OUTLINE': return OUTLINE; case 'OVERRIDES': return OVERRIDES; } throw Exception('Illegal enum value: $name'); } factory AnalysisService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return AnalysisService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'AnalysisService', json); } @override String toString() => 'AnalysisService.$name'; String toJson() => name; } /// analysis.setAnalysisRoots params /// /// { /// "included": List /// "excluded": List /// "packageRoots": optional Map /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetAnalysisRootsParams implements RequestParams { List _included; List _excluded; Map _packageRoots; /// A list of the files and directories that should be analyzed. List get included => _included; /// A list of the files and directories that should be analyzed. set included(List value) { assert(value != null); _included = value; } /// A list of the files and directories within the included directories that /// should not be analyzed. List get excluded => _excluded; /// A list of the files and directories within the included directories that /// should not be analyzed. set excluded(List value) { assert(value != null); _excluded = value; } /// A mapping from source directories to package roots that should override /// the normal package: URI resolution mechanism. /// /// If a package root is a file, then the analyzer will behave as though that /// file is a ".packages" file in the source directory. The effect is the /// same as specifying the file as a "--packages" parameter to the Dart VM /// when executing any Dart file inside the source directory. /// /// Files in any directories that are not overridden by this mapping have /// their package: URI's resolved using the normal pubspec.yaml mechanism. If /// this field is absent, or the empty map is specified, that indicates that /// the normal pubspec.yaml mechanism should always be used. Map get packageRoots => _packageRoots; /// A mapping from source directories to package roots that should override /// the normal package: URI resolution mechanism. /// /// If a package root is a file, then the analyzer will behave as though that /// file is a ".packages" file in the source directory. The effect is the /// same as specifying the file as a "--packages" parameter to the Dart VM /// when executing any Dart file inside the source directory. /// /// Files in any directories that are not overridden by this mapping have /// their package: URI's resolved using the normal pubspec.yaml mechanism. If /// this field is absent, or the empty map is specified, that indicates that /// the normal pubspec.yaml mechanism should always be used. set packageRoots(Map value) { _packageRoots = value; } AnalysisSetAnalysisRootsParams(List included, List excluded, {Map packageRoots}) { this.included = included; this.excluded = excluded; this.packageRoots = packageRoots; } factory AnalysisSetAnalysisRootsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List included; if (json.containsKey('included')) { included = jsonDecoder.decodeList( jsonPath + '.included', json['included'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'included'); } List excluded; if (json.containsKey('excluded')) { excluded = jsonDecoder.decodeList( jsonPath + '.excluded', json['excluded'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'excluded'); } Map packageRoots; if (json.containsKey('packageRoots')) { packageRoots = jsonDecoder.decodeMap( jsonPath + '.packageRoots', json['packageRoots'], valueDecoder: jsonDecoder.decodeString); } return AnalysisSetAnalysisRootsParams(included, excluded, packageRoots: packageRoots); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.setAnalysisRoots params', json); } } factory AnalysisSetAnalysisRootsParams.fromRequest(Request request) { return AnalysisSetAnalysisRootsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['included'] = included; result['excluded'] = excluded; if (packageRoots != null) { result['packageRoots'] = packageRoots; } return result; } @override Request toRequest(String id) { return Request(id, 'analysis.setAnalysisRoots', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisSetAnalysisRootsParams) { return listEqual( included, other.included, (String a, String b) => a == b) && listEqual(excluded, other.excluded, (String a, String b) => a == b) && mapEqual( packageRoots, other.packageRoots, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, included.hashCode); hash = JenkinsSmiHash.combine(hash, excluded.hashCode); hash = JenkinsSmiHash.combine(hash, packageRoots.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.setAnalysisRoots result /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetAnalysisRootsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisSetAnalysisRootsResult) { return true; } return false; } @override int get hashCode { return 866004753; } } /// analysis.setGeneralSubscriptions params /// /// { /// "subscriptions": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetGeneralSubscriptionsParams implements RequestParams { List _subscriptions; /// A list of the services being subscribed to. List get subscriptions => _subscriptions; /// A list of the services being subscribed to. set subscriptions(List value) { assert(value != null); _subscriptions = value; } AnalysisSetGeneralSubscriptionsParams( List subscriptions) { this.subscriptions = subscriptions; } factory AnalysisSetGeneralSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeList( jsonPath + '.subscriptions', json['subscriptions'], (String jsonPath, Object json) => GeneralAnalysisService.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return AnalysisSetGeneralSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.setGeneralSubscriptions params', json); } } factory AnalysisSetGeneralSubscriptionsParams.fromRequest(Request request) { return AnalysisSetGeneralSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = subscriptions .map((GeneralAnalysisService value) => value.toJson()) .toList(); return result; } @override Request toRequest(String id) { return Request(id, 'analysis.setGeneralSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisSetGeneralSubscriptionsParams) { return listEqual(subscriptions, other.subscriptions, (GeneralAnalysisService a, GeneralAnalysisService b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.setGeneralSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetGeneralSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisSetGeneralSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 386759562; } } /// analysis.setPriorityFiles params /// /// { /// "files": List /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetPriorityFilesParams implements RequestParams { List _files; /// The files that are to be a priority for analysis. List get files => _files; /// The files that are to be a priority for analysis. set files(List value) { assert(value != null); _files = value; } AnalysisSetPriorityFilesParams(List files) { this.files = files; } factory AnalysisSetPriorityFilesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return AnalysisSetPriorityFilesParams(files); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.setPriorityFiles params', json); } } factory AnalysisSetPriorityFilesParams.fromRequest(Request request) { return AnalysisSetPriorityFilesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['files'] = files; return result; } @override Request toRequest(String id) { return Request(id, 'analysis.setPriorityFiles', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisSetPriorityFilesParams) { return listEqual(files, other.files, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.setPriorityFiles result /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetPriorityFilesResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisSetPriorityFilesResult) { return true; } return false; } @override int get hashCode { return 330050055; } } /// analysis.setSubscriptions params /// /// { /// "subscriptions": Map> /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetSubscriptionsParams implements RequestParams { Map> _subscriptions; /// A table mapping services to a list of the files being subscribed to the /// service. Map> get subscriptions => _subscriptions; /// A table mapping services to a list of the files being subscribed to the /// service. set subscriptions(Map> value) { assert(value != null); _subscriptions = value; } AnalysisSetSubscriptionsParams( Map> subscriptions) { this.subscriptions = subscriptions; } factory AnalysisSetSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Map> subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeMap( jsonPath + '.subscriptions', json['subscriptions'], keyDecoder: (String jsonPath, Object json) => AnalysisService.fromJson(jsonDecoder, jsonPath, json), valueDecoder: (String jsonPath, Object json) => jsonDecoder .decodeList(jsonPath, json, jsonDecoder.decodeString)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return AnalysisSetSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.setSubscriptions params', json); } } factory AnalysisSetSubscriptionsParams.fromRequest(Request request) { return AnalysisSetSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = mapMap(subscriptions, keyCallback: (AnalysisService value) => value.toJson()); return result; } @override Request toRequest(String id) { return Request(id, 'analysis.setSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisSetSubscriptionsParams) { return mapEqual( subscriptions, other.subscriptions, (List a, List b) => listEqual(a, b, (String a, String b) => a == b)); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.setSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class AnalysisSetSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisSetSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 218088493; } } /// AnalysisStatus /// /// { /// "isAnalyzing": bool /// "analysisTarget": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisStatus implements HasToJson { bool _isAnalyzing; String _analysisTarget; /// True if analysis is currently being performed. bool get isAnalyzing => _isAnalyzing; /// True if analysis is currently being performed. set isAnalyzing(bool value) { assert(value != null); _isAnalyzing = value; } /// The name of the current target of analysis. This field is omitted if /// analyzing is false. String get analysisTarget => _analysisTarget; /// The name of the current target of analysis. This field is omitted if /// analyzing is false. set analysisTarget(String value) { _analysisTarget = value; } AnalysisStatus(bool isAnalyzing, {String analysisTarget}) { this.isAnalyzing = isAnalyzing; this.analysisTarget = analysisTarget; } factory AnalysisStatus.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool isAnalyzing; if (json.containsKey('isAnalyzing')) { isAnalyzing = jsonDecoder.decodeBool( jsonPath + '.isAnalyzing', json['isAnalyzing']); } else { throw jsonDecoder.mismatch(jsonPath, 'isAnalyzing'); } String analysisTarget; if (json.containsKey('analysisTarget')) { analysisTarget = jsonDecoder.decodeString( jsonPath + '.analysisTarget', json['analysisTarget']); } return AnalysisStatus(isAnalyzing, analysisTarget: analysisTarget); } else { throw jsonDecoder.mismatch(jsonPath, 'AnalysisStatus', json); } } @override Map toJson() { var result = {}; result['isAnalyzing'] = isAnalyzing; if (analysisTarget != null) { result['analysisTarget'] = analysisTarget; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisStatus) { return isAnalyzing == other.isAnalyzing && analysisTarget == other.analysisTarget; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, isAnalyzing.hashCode); hash = JenkinsSmiHash.combine(hash, analysisTarget.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.updateContent params /// /// { /// "files": Map /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisUpdateContentParams implements RequestParams { Map _files; /// A table mapping the files whose content has changed to a description of /// the content change. Map get files => _files; /// A table mapping the files whose content has changed to a description of /// the content change. set files(Map value) { assert(value != null); _files = value; } AnalysisUpdateContentParams(Map files) { this.files = files; } factory AnalysisUpdateContentParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Map files; if (json.containsKey('files')) { files = jsonDecoder.decodeMap(jsonPath + '.files', json['files'], valueDecoder: (String jsonPath, Object json) => jsonDecoder.decodeUnion(jsonPath, json, 'type', { 'add': (String jsonPath, Object json) => AddContentOverlay.fromJson(jsonDecoder, jsonPath, json), 'change': (String jsonPath, Object json) => ChangeContentOverlay.fromJson( jsonDecoder, jsonPath, json), 'remove': (String jsonPath, Object json) => RemoveContentOverlay.fromJson(jsonDecoder, jsonPath, json) })); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return AnalysisUpdateContentParams(files); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.updateContent params', json); } } factory AnalysisUpdateContentParams.fromRequest(Request request) { return AnalysisUpdateContentParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['files'] = mapMap(files, valueCallback: (dynamic value) => value.toJson()); return result; } @override Request toRequest(String id) { return Request(id, 'analysis.updateContent', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisUpdateContentParams) { return mapEqual(files, other.files, (dynamic a, dynamic b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.updateContent result /// /// { /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisUpdateContentResult implements ResponseResult { AnalysisUpdateContentResult(); factory AnalysisUpdateContentResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { return AnalysisUpdateContentResult(); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.updateContent result', json); } } factory AnalysisUpdateContentResult.fromResponse(Response response) { return AnalysisUpdateContentResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisUpdateContentResult) { return true; } return false; } @override int get hashCode { var hash = 0; return JenkinsSmiHash.finish(hash); } } /// analysis.updateOptions params /// /// { /// "options": AnalysisOptions /// } /// /// Clients may not extend, implement or mix-in this class. class AnalysisUpdateOptionsParams implements RequestParams { AnalysisOptions _options; /// The options that are to be used to control analysis. AnalysisOptions get options => _options; /// The options that are to be used to control analysis. set options(AnalysisOptions value) { assert(value != null); _options = value; } AnalysisUpdateOptionsParams(AnalysisOptions options) { this.options = options; } factory AnalysisUpdateOptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { AnalysisOptions options; if (json.containsKey('options')) { options = AnalysisOptions.fromJson( jsonDecoder, jsonPath + '.options', json['options']); } else { throw jsonDecoder.mismatch(jsonPath, 'options'); } return AnalysisUpdateOptionsParams(options); } else { throw jsonDecoder.mismatch( jsonPath, 'analysis.updateOptions params', json); } } factory AnalysisUpdateOptionsParams.fromRequest(Request request) { return AnalysisUpdateOptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['options'] = options.toJson(); return result; } @override Request toRequest(String id) { return Request(id, 'analysis.updateOptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalysisUpdateOptionsParams) { return options == other.options; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, options.hashCode); return JenkinsSmiHash.finish(hash); } } /// analysis.updateOptions result /// /// Clients may not extend, implement or mix-in this class. class AnalysisUpdateOptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalysisUpdateOptionsResult) { return true; } return false; } @override int get hashCode { return 179689467; } } /// analytics.enable params /// /// { /// "value": bool /// } /// /// Clients may not extend, implement or mix-in this class. class AnalyticsEnableParams implements RequestParams { bool _value; /// Enable or disable analytics. bool get value => _value; /// Enable or disable analytics. set value(bool value) { assert(value != null); _value = value; } AnalyticsEnableParams(bool value) { this.value = value; } factory AnalyticsEnableParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool value; if (json.containsKey('value')) { value = jsonDecoder.decodeBool(jsonPath + '.value', json['value']); } else { throw jsonDecoder.mismatch(jsonPath, 'value'); } return AnalyticsEnableParams(value); } else { throw jsonDecoder.mismatch(jsonPath, 'analytics.enable params', json); } } factory AnalyticsEnableParams.fromRequest(Request request) { return AnalyticsEnableParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['value'] = value; return result; } @override Request toRequest(String id) { return Request(id, 'analytics.enable', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalyticsEnableParams) { return value == other.value; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, value.hashCode); return JenkinsSmiHash.finish(hash); } } /// analytics.enable result /// /// Clients may not extend, implement or mix-in this class. class AnalyticsEnableResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalyticsEnableResult) { return true; } return false; } @override int get hashCode { return 237990792; } } /// analytics.isEnabled params /// /// Clients may not extend, implement or mix-in this class. class AnalyticsIsEnabledParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'analytics.isEnabled', null); } @override bool operator ==(other) { if (other is AnalyticsIsEnabledParams) { return true; } return false; } @override int get hashCode { return 57215544; } } /// analytics.isEnabled result /// /// { /// "enabled": bool /// } /// /// Clients may not extend, implement or mix-in this class. class AnalyticsIsEnabledResult implements ResponseResult { bool _enabled; /// Whether sending analytics is enabled or not. bool get enabled => _enabled; /// Whether sending analytics is enabled or not. set enabled(bool value) { assert(value != null); _enabled = value; } AnalyticsIsEnabledResult(bool enabled) { this.enabled = enabled; } factory AnalyticsIsEnabledResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool enabled; if (json.containsKey('enabled')) { enabled = jsonDecoder.decodeBool(jsonPath + '.enabled', json['enabled']); } else { throw jsonDecoder.mismatch(jsonPath, 'enabled'); } return AnalyticsIsEnabledResult(enabled); } else { throw jsonDecoder.mismatch(jsonPath, 'analytics.isEnabled result', json); } } factory AnalyticsIsEnabledResult.fromResponse(Response response) { return AnalyticsIsEnabledResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['enabled'] = enabled; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalyticsIsEnabledResult) { return enabled == other.enabled; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, enabled.hashCode); return JenkinsSmiHash.finish(hash); } } /// analytics.sendEvent params /// /// { /// "action": String /// } /// /// Clients may not extend, implement or mix-in this class. class AnalyticsSendEventParams implements RequestParams { String _action; /// The value used to indicate which action was performed. String get action => _action; /// The value used to indicate which action was performed. set action(String value) { assert(value != null); _action = value; } AnalyticsSendEventParams(String action) { this.action = action; } factory AnalyticsSendEventParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String action; if (json.containsKey('action')) { action = jsonDecoder.decodeString(jsonPath + '.action', json['action']); } else { throw jsonDecoder.mismatch(jsonPath, 'action'); } return AnalyticsSendEventParams(action); } else { throw jsonDecoder.mismatch(jsonPath, 'analytics.sendEvent params', json); } } factory AnalyticsSendEventParams.fromRequest(Request request) { return AnalyticsSendEventParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['action'] = action; return result; } @override Request toRequest(String id) { return Request(id, 'analytics.sendEvent', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalyticsSendEventParams) { return action == other.action; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, action.hashCode); return JenkinsSmiHash.finish(hash); } } /// analytics.sendEvent result /// /// Clients may not extend, implement or mix-in this class. class AnalyticsSendEventResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalyticsSendEventResult) { return true; } return false; } @override int get hashCode { return 227063188; } } /// analytics.sendTiming params /// /// { /// "event": String /// "millis": int /// } /// /// Clients may not extend, implement or mix-in this class. class AnalyticsSendTimingParams implements RequestParams { String _event; int _millis; /// The name of the event. String get event => _event; /// The name of the event. set event(String value) { assert(value != null); _event = value; } /// The duration of the event in milliseconds. int get millis => _millis; /// The duration of the event in milliseconds. set millis(int value) { assert(value != null); _millis = value; } AnalyticsSendTimingParams(String event, int millis) { this.event = event; this.millis = millis; } factory AnalyticsSendTimingParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String event; if (json.containsKey('event')) { event = jsonDecoder.decodeString(jsonPath + '.event', json['event']); } else { throw jsonDecoder.mismatch(jsonPath, 'event'); } int millis; if (json.containsKey('millis')) { millis = jsonDecoder.decodeInt(jsonPath + '.millis', json['millis']); } else { throw jsonDecoder.mismatch(jsonPath, 'millis'); } return AnalyticsSendTimingParams(event, millis); } else { throw jsonDecoder.mismatch(jsonPath, 'analytics.sendTiming params', json); } } factory AnalyticsSendTimingParams.fromRequest(Request request) { return AnalyticsSendTimingParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['event'] = event; result['millis'] = millis; return result; } @override Request toRequest(String id) { return Request(id, 'analytics.sendTiming', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AnalyticsSendTimingParams) { return event == other.event && millis == other.millis; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, event.hashCode); hash = JenkinsSmiHash.combine(hash, millis.hashCode); return JenkinsSmiHash.finish(hash); } } /// analytics.sendTiming result /// /// Clients may not extend, implement or mix-in this class. class AnalyticsSendTimingResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is AnalyticsSendTimingResult) { return true; } return false; } @override int get hashCode { return 875010924; } } /// AvailableSuggestion /// /// { /// "label": String /// "declaringLibraryUri": String /// "element": Element /// "defaultArgumentListString": optional String /// "defaultArgumentListTextRanges": optional List /// "parameterNames": optional List /// "parameterTypes": optional List /// "relevanceTags": optional List /// "requiredParameterCount": optional int /// } /// /// Clients may not extend, implement or mix-in this class. class AvailableSuggestion implements HasToJson { String _label; String _declaringLibraryUri; Element _element; String _defaultArgumentListString; List _defaultArgumentListTextRanges; List _parameterNames; List _parameterTypes; List _relevanceTags; int _requiredParameterCount; /// The identifier to present to the user for code completion. String get label => _label; /// The identifier to present to the user for code completion. set label(String value) { assert(value != null); _label = value; } /// The URI of the library that declares the element being suggested, not the /// URI of the library associated with the enclosing AvailableSuggestionSet. String get declaringLibraryUri => _declaringLibraryUri; /// The URI of the library that declares the element being suggested, not the /// URI of the library associated with the enclosing AvailableSuggestionSet. set declaringLibraryUri(String value) { assert(value != null); _declaringLibraryUri = value; } /// Information about the element reference being suggested. Element get element => _element; /// Information about the element reference being suggested. set element(Element value) { assert(value != null); _element = value; } /// A default String for use in generating argument list source contents on /// the client side. String get defaultArgumentListString => _defaultArgumentListString; /// A default String for use in generating argument list source contents on /// the client side. set defaultArgumentListString(String value) { _defaultArgumentListString = value; } /// Pairs of offsets and lengths describing 'defaultArgumentListString' text /// ranges suitable for use by clients to set up linked edits of default /// argument source contents. For example, given an argument list string 'x, /// y', the corresponding text range [0, 1, 3, 1], indicates two text ranges /// of length 1, starting at offsets 0 and 3. Clients can use these ranges to /// treat the 'x' and 'y' values specially for linked edits. List get defaultArgumentListTextRanges => _defaultArgumentListTextRanges; /// Pairs of offsets and lengths describing 'defaultArgumentListString' text /// ranges suitable for use by clients to set up linked edits of default /// argument source contents. For example, given an argument list string 'x, /// y', the corresponding text range [0, 1, 3, 1], indicates two text ranges /// of length 1, starting at offsets 0 and 3. Clients can use these ranges to /// treat the 'x' and 'y' values specially for linked edits. set defaultArgumentListTextRanges(List value) { _defaultArgumentListTextRanges = value; } /// If the element is an executable, the names of the formal parameters of /// all kinds - required, optional positional, and optional named. The names /// of positional parameters are empty strings. Omitted if the element is not /// an executable. List get parameterNames => _parameterNames; /// If the element is an executable, the names of the formal parameters of /// all kinds - required, optional positional, and optional named. The names /// of positional parameters are empty strings. Omitted if the element is not /// an executable. set parameterNames(List value) { _parameterNames = value; } /// If the element is an executable, the declared types of the formal /// parameters of all kinds - required, optional positional, and optional /// named. Omitted if the element is not an executable. List get parameterTypes => _parameterTypes; /// If the element is an executable, the declared types of the formal /// parameters of all kinds - required, optional positional, and optional /// named. Omitted if the element is not an executable. set parameterTypes(List value) { _parameterTypes = value; } /// This field is set if the relevance of this suggestion might be changed /// depending on where completion is requested. List get relevanceTags => _relevanceTags; /// This field is set if the relevance of this suggestion might be changed /// depending on where completion is requested. set relevanceTags(List value) { _relevanceTags = value; } int get requiredParameterCount => _requiredParameterCount; set requiredParameterCount(int value) { _requiredParameterCount = value; } AvailableSuggestion(String label, String declaringLibraryUri, Element element, {String defaultArgumentListString, List defaultArgumentListTextRanges, List parameterNames, List parameterTypes, List relevanceTags, int requiredParameterCount}) { this.label = label; this.declaringLibraryUri = declaringLibraryUri; this.element = element; this.defaultArgumentListString = defaultArgumentListString; this.defaultArgumentListTextRanges = defaultArgumentListTextRanges; this.parameterNames = parameterNames; this.parameterTypes = parameterTypes; this.relevanceTags = relevanceTags; this.requiredParameterCount = requiredParameterCount; } factory AvailableSuggestion.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String label; if (json.containsKey('label')) { label = jsonDecoder.decodeString(jsonPath + '.label', json['label']); } else { throw jsonDecoder.mismatch(jsonPath, 'label'); } String declaringLibraryUri; if (json.containsKey('declaringLibraryUri')) { declaringLibraryUri = jsonDecoder.decodeString( jsonPath + '.declaringLibraryUri', json['declaringLibraryUri']); } else { throw jsonDecoder.mismatch(jsonPath, 'declaringLibraryUri'); } Element element; if (json.containsKey('element')) { element = Element.fromJson( jsonDecoder, jsonPath + '.element', json['element']); } else { throw jsonDecoder.mismatch(jsonPath, 'element'); } String defaultArgumentListString; if (json.containsKey('defaultArgumentListString')) { defaultArgumentListString = jsonDecoder.decodeString( jsonPath + '.defaultArgumentListString', json['defaultArgumentListString']); } List defaultArgumentListTextRanges; if (json.containsKey('defaultArgumentListTextRanges')) { defaultArgumentListTextRanges = jsonDecoder.decodeList( jsonPath + '.defaultArgumentListTextRanges', json['defaultArgumentListTextRanges'], jsonDecoder.decodeInt); } List parameterNames; if (json.containsKey('parameterNames')) { parameterNames = jsonDecoder.decodeList(jsonPath + '.parameterNames', json['parameterNames'], jsonDecoder.decodeString); } List parameterTypes; if (json.containsKey('parameterTypes')) { parameterTypes = jsonDecoder.decodeList(jsonPath + '.parameterTypes', json['parameterTypes'], jsonDecoder.decodeString); } List relevanceTags; if (json.containsKey('relevanceTags')) { relevanceTags = jsonDecoder.decodeList(jsonPath + '.relevanceTags', json['relevanceTags'], jsonDecoder.decodeString); } int requiredParameterCount; if (json.containsKey('requiredParameterCount')) { requiredParameterCount = jsonDecoder.decodeInt( jsonPath + '.requiredParameterCount', json['requiredParameterCount']); } return AvailableSuggestion(label, declaringLibraryUri, element, defaultArgumentListString: defaultArgumentListString, defaultArgumentListTextRanges: defaultArgumentListTextRanges, parameterNames: parameterNames, parameterTypes: parameterTypes, relevanceTags: relevanceTags, requiredParameterCount: requiredParameterCount); } else { throw jsonDecoder.mismatch(jsonPath, 'AvailableSuggestion', json); } } @override Map toJson() { var result = {}; result['label'] = label; result['declaringLibraryUri'] = declaringLibraryUri; result['element'] = element.toJson(); if (defaultArgumentListString != null) { result['defaultArgumentListString'] = defaultArgumentListString; } if (defaultArgumentListTextRanges != null) { result['defaultArgumentListTextRanges'] = defaultArgumentListTextRanges; } if (parameterNames != null) { result['parameterNames'] = parameterNames; } if (parameterTypes != null) { result['parameterTypes'] = parameterTypes; } if (relevanceTags != null) { result['relevanceTags'] = relevanceTags; } if (requiredParameterCount != null) { result['requiredParameterCount'] = requiredParameterCount; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AvailableSuggestion) { return label == other.label && declaringLibraryUri == other.declaringLibraryUri && element == other.element && defaultArgumentListString == other.defaultArgumentListString && listEqual(defaultArgumentListTextRanges, other.defaultArgumentListTextRanges, (int a, int b) => a == b) && listEqual(parameterNames, other.parameterNames, (String a, String b) => a == b) && listEqual(parameterTypes, other.parameterTypes, (String a, String b) => a == b) && listEqual(relevanceTags, other.relevanceTags, (String a, String b) => a == b) && requiredParameterCount == other.requiredParameterCount; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, label.hashCode); hash = JenkinsSmiHash.combine(hash, declaringLibraryUri.hashCode); hash = JenkinsSmiHash.combine(hash, element.hashCode); hash = JenkinsSmiHash.combine(hash, defaultArgumentListString.hashCode); hash = JenkinsSmiHash.combine(hash, defaultArgumentListTextRanges.hashCode); hash = JenkinsSmiHash.combine(hash, parameterNames.hashCode); hash = JenkinsSmiHash.combine(hash, parameterTypes.hashCode); hash = JenkinsSmiHash.combine(hash, relevanceTags.hashCode); hash = JenkinsSmiHash.combine(hash, requiredParameterCount.hashCode); return JenkinsSmiHash.finish(hash); } } /// AvailableSuggestionSet /// /// { /// "id": int /// "uri": String /// "items": List /// } /// /// Clients may not extend, implement or mix-in this class. class AvailableSuggestionSet implements HasToJson { int _id; String _uri; List _items; /// The id associated with the library. int get id => _id; /// The id associated with the library. set id(int value) { assert(value != null); _id = value; } /// The URI of the library. String get uri => _uri; /// The URI of the library. set uri(String value) { assert(value != null); _uri = value; } List get items => _items; set items(List value) { assert(value != null); _items = value; } AvailableSuggestionSet(int id, String uri, List items) { this.id = id; this.uri = uri; this.items = items; } factory AvailableSuggestionSet.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int id; if (json.containsKey('id')) { id = jsonDecoder.decodeInt(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } String uri; if (json.containsKey('uri')) { uri = jsonDecoder.decodeString(jsonPath + '.uri', json['uri']); } else { throw jsonDecoder.mismatch(jsonPath, 'uri'); } List items; if (json.containsKey('items')) { items = jsonDecoder.decodeList( jsonPath + '.items', json['items'], (String jsonPath, Object json) => AvailableSuggestion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'items'); } return AvailableSuggestionSet(id, uri, items); } else { throw jsonDecoder.mismatch(jsonPath, 'AvailableSuggestionSet', json); } } @override Map toJson() { var result = {}; result['id'] = id; result['uri'] = uri; result['items'] = items.map((AvailableSuggestion value) => value.toJson()).toList(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is AvailableSuggestionSet) { return id == other.id && uri == other.uri && listEqual(items, other.items, (AvailableSuggestion a, AvailableSuggestion b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, uri.hashCode); hash = JenkinsSmiHash.combine(hash, items.hashCode); return JenkinsSmiHash.finish(hash); } } /// BulkFix /// /// { /// "path": FilePath /// "fixes": List /// } /// /// Clients may not extend, implement or mix-in this class. class BulkFix implements HasToJson { String _path; List _fixes; /// The path of the library. String get path => _path; /// The path of the library. set path(String value) { assert(value != null); _path = value; } /// A list of bulk fix details. List get fixes => _fixes; /// A list of bulk fix details. set fixes(List value) { assert(value != null); _fixes = value; } BulkFix(String path, List fixes) { this.path = path; this.fixes = fixes; } factory BulkFix.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String path; if (json.containsKey('path')) { path = jsonDecoder.decodeString(jsonPath + '.path', json['path']); } else { throw jsonDecoder.mismatch(jsonPath, 'path'); } List fixes; if (json.containsKey('fixes')) { fixes = jsonDecoder.decodeList( jsonPath + '.fixes', json['fixes'], (String jsonPath, Object json) => BulkFixDetail.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'fixes'); } return BulkFix(path, fixes); } else { throw jsonDecoder.mismatch(jsonPath, 'BulkFix', json); } } @override Map toJson() { var result = {}; result['path'] = path; result['fixes'] = fixes.map((BulkFixDetail value) => value.toJson()).toList(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is BulkFix) { return path == other.path && listEqual( fixes, other.fixes, (BulkFixDetail a, BulkFixDetail b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, path.hashCode); hash = JenkinsSmiHash.combine(hash, fixes.hashCode); return JenkinsSmiHash.finish(hash); } } /// BulkFixDetail /// /// { /// "code": String /// "occurrences": int /// } /// /// Clients may not extend, implement or mix-in this class. class BulkFixDetail implements HasToJson { String _code; int _occurrences; /// The code of the diagnostic associated with the fix. String get code => _code; /// The code of the diagnostic associated with the fix. set code(String value) { assert(value != null); _code = value; } /// The number times the associated diagnostic was fixed in the associated /// source edit. int get occurrences => _occurrences; /// The number times the associated diagnostic was fixed in the associated /// source edit. set occurrences(int value) { assert(value != null); _occurrences = value; } BulkFixDetail(String code, int occurrences) { this.code = code; this.occurrences = occurrences; } factory BulkFixDetail.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String code; if (json.containsKey('code')) { code = jsonDecoder.decodeString(jsonPath + '.code', json['code']); } else { throw jsonDecoder.mismatch(jsonPath, 'code'); } int occurrences; if (json.containsKey('occurrences')) { occurrences = jsonDecoder.decodeInt( jsonPath + '.occurrences', json['occurrences']); } else { throw jsonDecoder.mismatch(jsonPath, 'occurrences'); } return BulkFixDetail(code, occurrences); } else { throw jsonDecoder.mismatch(jsonPath, 'BulkFixDetail', json); } } @override Map toJson() { var result = {}; result['code'] = code; result['occurrences'] = occurrences; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is BulkFixDetail) { return code == other.code && occurrences == other.occurrences; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, code.hashCode); hash = JenkinsSmiHash.combine(hash, occurrences.hashCode); return JenkinsSmiHash.finish(hash); } } /// ClosingLabel /// /// { /// "offset": int /// "length": int /// "label": String /// } /// /// Clients may not extend, implement or mix-in this class. class ClosingLabel implements HasToJson { int _offset; int _length; String _label; /// The offset of the construct being labelled. int get offset => _offset; /// The offset of the construct being labelled. set offset(int value) { assert(value != null); _offset = value; } /// The length of the whole construct to be labelled. int get length => _length; /// The length of the whole construct to be labelled. set length(int value) { assert(value != null); _length = value; } /// The label associated with this range that should be displayed to the /// user. String get label => _label; /// The label associated with this range that should be displayed to the /// user. set label(String value) { assert(value != null); _label = value; } ClosingLabel(int offset, int length, String label) { this.offset = offset; this.length = length; this.label = label; } factory ClosingLabel.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } String label; if (json.containsKey('label')) { label = jsonDecoder.decodeString(jsonPath + '.label', json['label']); } else { throw jsonDecoder.mismatch(jsonPath, 'label'); } return ClosingLabel(offset, length, label); } else { throw jsonDecoder.mismatch(jsonPath, 'ClosingLabel', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; result['label'] = label; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ClosingLabel) { return offset == other.offset && length == other.length && label == other.label; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, label.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.availableSuggestions params /// /// { /// "changedLibraries": optional List /// "removedLibraries": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionAvailableSuggestionsParams implements HasToJson { List _changedLibraries; List _removedLibraries; /// A list of pre-computed, potential completions coming from this set of /// completion suggestions. List get changedLibraries => _changedLibraries; /// A list of pre-computed, potential completions coming from this set of /// completion suggestions. set changedLibraries(List value) { _changedLibraries = value; } /// A list of library ids that no longer apply. List get removedLibraries => _removedLibraries; /// A list of library ids that no longer apply. set removedLibraries(List value) { _removedLibraries = value; } CompletionAvailableSuggestionsParams( {List changedLibraries, List removedLibraries}) { this.changedLibraries = changedLibraries; this.removedLibraries = removedLibraries; } factory CompletionAvailableSuggestionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List changedLibraries; if (json.containsKey('changedLibraries')) { changedLibraries = jsonDecoder.decodeList( jsonPath + '.changedLibraries', json['changedLibraries'], (String jsonPath, Object json) => AvailableSuggestionSet.fromJson(jsonDecoder, jsonPath, json)); } List removedLibraries; if (json.containsKey('removedLibraries')) { removedLibraries = jsonDecoder.decodeList( jsonPath + '.removedLibraries', json['removedLibraries'], jsonDecoder.decodeInt); } return CompletionAvailableSuggestionsParams( changedLibraries: changedLibraries, removedLibraries: removedLibraries); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.availableSuggestions params', json); } } factory CompletionAvailableSuggestionsParams.fromNotification( Notification notification) { return CompletionAvailableSuggestionsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; if (changedLibraries != null) { result['changedLibraries'] = changedLibraries .map((AvailableSuggestionSet value) => value.toJson()) .toList(); } if (removedLibraries != null) { result['removedLibraries'] = removedLibraries; } return result; } Notification toNotification() { return Notification('completion.availableSuggestions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionAvailableSuggestionsParams) { return listEqual(changedLibraries, other.changedLibraries, (AvailableSuggestionSet a, AvailableSuggestionSet b) => a == b) && listEqual(removedLibraries, other.removedLibraries, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, changedLibraries.hashCode); hash = JenkinsSmiHash.combine(hash, removedLibraries.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.existingImports params /// /// { /// "file": FilePath /// "imports": ExistingImports /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionExistingImportsParams implements HasToJson { String _file; ExistingImports _imports; /// The defining file of the library. String get file => _file; /// The defining file of the library. set file(String value) { assert(value != null); _file = value; } /// The existing imports in the library. ExistingImports get imports => _imports; /// The existing imports in the library. set imports(ExistingImports value) { assert(value != null); _imports = value; } CompletionExistingImportsParams(String file, ExistingImports imports) { this.file = file; this.imports = imports; } factory CompletionExistingImportsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } ExistingImports imports; if (json.containsKey('imports')) { imports = ExistingImports.fromJson( jsonDecoder, jsonPath + '.imports', json['imports']); } else { throw jsonDecoder.mismatch(jsonPath, 'imports'); } return CompletionExistingImportsParams(file, imports); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.existingImports params', json); } } factory CompletionExistingImportsParams.fromNotification( Notification notification) { return CompletionExistingImportsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['imports'] = imports.toJson(); return result; } Notification toNotification() { return Notification('completion.existingImports', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionExistingImportsParams) { return file == other.file && imports == other.imports; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, imports.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.getSuggestionDetails params /// /// { /// "file": FilePath /// "id": int /// "label": String /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionGetSuggestionDetailsParams implements RequestParams { String _file; int _id; String _label; int _offset; /// The path of the file into which this completion is being inserted. String get file => _file; /// The path of the file into which this completion is being inserted. set file(String value) { assert(value != null); _file = value; } /// The identifier of the AvailableSuggestionSet containing the selected /// label. int get id => _id; /// The identifier of the AvailableSuggestionSet containing the selected /// label. set id(int value) { assert(value != null); _id = value; } /// The label from the AvailableSuggestionSet with the `id` for which /// insertion information is requested. String get label => _label; /// The label from the AvailableSuggestionSet with the `id` for which /// insertion information is requested. set label(String value) { assert(value != null); _label = value; } /// The offset in the file where the completion will be inserted. int get offset => _offset; /// The offset in the file where the completion will be inserted. set offset(int value) { assert(value != null); _offset = value; } CompletionGetSuggestionDetailsParams( String file, int id, String label, int offset) { this.file = file; this.id = id; this.label = label; this.offset = offset; } factory CompletionGetSuggestionDetailsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int id; if (json.containsKey('id')) { id = jsonDecoder.decodeInt(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } String label; if (json.containsKey('label')) { label = jsonDecoder.decodeString(jsonPath + '.label', json['label']); } else { throw jsonDecoder.mismatch(jsonPath, 'label'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return CompletionGetSuggestionDetailsParams(file, id, label, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.getSuggestionDetails params', json); } } factory CompletionGetSuggestionDetailsParams.fromRequest(Request request) { return CompletionGetSuggestionDetailsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['id'] = id; result['label'] = label; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'completion.getSuggestionDetails', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionGetSuggestionDetailsParams) { return file == other.file && id == other.id && label == other.label && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, label.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.getSuggestionDetails result /// /// { /// "completion": String /// "change": optional SourceChange /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionGetSuggestionDetailsResult implements ResponseResult { String _completion; SourceChange _change; /// The full text to insert, including any optional import prefix. String get completion => _completion; /// The full text to insert, including any optional import prefix. set completion(String value) { assert(value != null); _completion = value; } /// A change for the client to apply in case the library containing the /// accepted completion suggestion needs to be imported. The field will be /// omitted if there are no additional changes that need to be made. SourceChange get change => _change; /// A change for the client to apply in case the library containing the /// accepted completion suggestion needs to be imported. The field will be /// omitted if there are no additional changes that need to be made. set change(SourceChange value) { _change = value; } CompletionGetSuggestionDetailsResult(String completion, {SourceChange change}) { this.completion = completion; this.change = change; } factory CompletionGetSuggestionDetailsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String completion; if (json.containsKey('completion')) { completion = jsonDecoder.decodeString( jsonPath + '.completion', json['completion']); } else { throw jsonDecoder.mismatch(jsonPath, 'completion'); } SourceChange change; if (json.containsKey('change')) { change = SourceChange.fromJson( jsonDecoder, jsonPath + '.change', json['change']); } return CompletionGetSuggestionDetailsResult(completion, change: change); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.getSuggestionDetails result', json); } } factory CompletionGetSuggestionDetailsResult.fromResponse(Response response) { return CompletionGetSuggestionDetailsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['completion'] = completion; if (change != null) { result['change'] = change.toJson(); } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionGetSuggestionDetailsResult) { return completion == other.completion && change == other.change; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, completion.hashCode); hash = JenkinsSmiHash.combine(hash, change.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.getSuggestions params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionGetSuggestionsParams implements RequestParams { String _file; int _offset; /// The file containing the point at which suggestions are to be made. String get file => _file; /// The file containing the point at which suggestions are to be made. set file(String value) { assert(value != null); _file = value; } /// The offset within the file at which suggestions are to be made. int get offset => _offset; /// The offset within the file at which suggestions are to be made. set offset(int value) { assert(value != null); _offset = value; } CompletionGetSuggestionsParams(String file, int offset) { this.file = file; this.offset = offset; } factory CompletionGetSuggestionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return CompletionGetSuggestionsParams(file, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.getSuggestions params', json); } } factory CompletionGetSuggestionsParams.fromRequest(Request request) { return CompletionGetSuggestionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'completion.getSuggestions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionGetSuggestionsParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.getSuggestions result /// /// { /// "id": CompletionId /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionGetSuggestionsResult implements ResponseResult { String _id; /// The identifier used to associate results with this completion request. String get id => _id; /// The identifier used to associate results with this completion request. set id(String value) { assert(value != null); _id = value; } CompletionGetSuggestionsResult(String id) { this.id = id; } factory CompletionGetSuggestionsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return CompletionGetSuggestionsResult(id); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.getSuggestions result', json); } } factory CompletionGetSuggestionsResult.fromResponse(Response response) { return CompletionGetSuggestionsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionGetSuggestionsResult) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.registerLibraryPaths params /// /// { /// "paths": List /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionRegisterLibraryPathsParams implements RequestParams { List _paths; /// A list of objects each containing a path and the additional libraries /// from which the client is interested in receiving completion suggestions. /// If one configured path is beneath another, the descendent will override /// the ancestors' configured libraries of interest. List get paths => _paths; /// A list of objects each containing a path and the additional libraries /// from which the client is interested in receiving completion suggestions. /// If one configured path is beneath another, the descendent will override /// the ancestors' configured libraries of interest. set paths(List value) { assert(value != null); _paths = value; } CompletionRegisterLibraryPathsParams(List paths) { this.paths = paths; } factory CompletionRegisterLibraryPathsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List paths; if (json.containsKey('paths')) { paths = jsonDecoder.decodeList( jsonPath + '.paths', json['paths'], (String jsonPath, Object json) => LibraryPathSet.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'paths'); } return CompletionRegisterLibraryPathsParams(paths); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.registerLibraryPaths params', json); } } factory CompletionRegisterLibraryPathsParams.fromRequest(Request request) { return CompletionRegisterLibraryPathsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['paths'] = paths.map((LibraryPathSet value) => value.toJson()).toList(); return result; } @override Request toRequest(String id) { return Request(id, 'completion.registerLibraryPaths', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionRegisterLibraryPathsParams) { return listEqual( paths, other.paths, (LibraryPathSet a, LibraryPathSet b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, paths.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.registerLibraryPaths result /// /// Clients may not extend, implement or mix-in this class. class CompletionRegisterLibraryPathsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is CompletionRegisterLibraryPathsResult) { return true; } return false; } @override int get hashCode { return 104675661; } } /// completion.results params /// /// { /// "id": CompletionId /// "replacementOffset": int /// "replacementLength": int /// "results": List /// "isLast": bool /// "libraryFile": optional FilePath /// "includedSuggestionSets": optional List /// "includedElementKinds": optional List /// "includedSuggestionRelevanceTags": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionResultsParams implements HasToJson { String _id; int _replacementOffset; int _replacementLength; List _results; bool _isLast; String _libraryFile; List _includedSuggestionSets; List _includedElementKinds; List _includedSuggestionRelevanceTags; /// The id associated with the completion. String get id => _id; /// The id associated with the completion. set id(String value) { assert(value != null); _id = value; } /// The offset of the start of the text to be replaced. This will be /// different than the offset used to request the completion suggestions if /// there was a portion of an identifier before the original offset. In /// particular, the replacementOffset will be the offset of the beginning of /// said identifier. int get replacementOffset => _replacementOffset; /// The offset of the start of the text to be replaced. This will be /// different than the offset used to request the completion suggestions if /// there was a portion of an identifier before the original offset. In /// particular, the replacementOffset will be the offset of the beginning of /// said identifier. set replacementOffset(int value) { assert(value != null); _replacementOffset = value; } /// The length of the text to be replaced if the remainder of the identifier /// containing the cursor is to be replaced when the suggestion is applied /// (that is, the number of characters in the existing identifier). int get replacementLength => _replacementLength; /// The length of the text to be replaced if the remainder of the identifier /// containing the cursor is to be replaced when the suggestion is applied /// (that is, the number of characters in the existing identifier). set replacementLength(int value) { assert(value != null); _replacementLength = value; } /// The completion suggestions being reported. The notification contains all /// possible completions at the requested cursor position, even those that do /// not match the characters the user has already typed. This allows the /// client to respond to further keystrokes from the user without having to /// make additional requests. List get results => _results; /// The completion suggestions being reported. The notification contains all /// possible completions at the requested cursor position, even those that do /// not match the characters the user has already typed. This allows the /// client to respond to further keystrokes from the user without having to /// make additional requests. set results(List value) { assert(value != null); _results = value; } /// True if this is that last set of results that will be returned for the /// indicated completion. bool get isLast => _isLast; /// True if this is that last set of results that will be returned for the /// indicated completion. set isLast(bool value) { assert(value != null); _isLast = value; } /// The library file that contains the file where completion was requested. /// The client might use it for example together with the existingImports /// notification to filter out available suggestions. If there were changes /// to existing imports in the library, the corresponding existingImports /// notification will be sent before the completion notification. String get libraryFile => _libraryFile; /// The library file that contains the file where completion was requested. /// The client might use it for example together with the existingImports /// notification to filter out available suggestions. If there were changes /// to existing imports in the library, the corresponding existingImports /// notification will be sent before the completion notification. set libraryFile(String value) { _libraryFile = value; } /// References to AvailableSuggestionSet objects previously sent to the /// client. The client can include applicable names from the referenced /// library in code completion suggestions. List get includedSuggestionSets => _includedSuggestionSets; /// References to AvailableSuggestionSet objects previously sent to the /// client. The client can include applicable names from the referenced /// library in code completion suggestions. set includedSuggestionSets(List value) { _includedSuggestionSets = value; } /// The client is expected to check this list against the ElementKind sent in /// IncludedSuggestionSet to decide whether or not these symbols should /// should be presented to the user. List get includedElementKinds => _includedElementKinds; /// The client is expected to check this list against the ElementKind sent in /// IncludedSuggestionSet to decide whether or not these symbols should /// should be presented to the user. set includedElementKinds(List value) { _includedElementKinds = value; } /// The client is expected to check this list against the values of the field /// relevanceTags of AvailableSuggestion to decide if the suggestion should /// be given a different relevance than the IncludedSuggestionSet that /// contains it. This might be used for example to give higher relevance to /// suggestions of matching types. /// /// If an AvailableSuggestion has relevance tags that match more than one /// IncludedSuggestionRelevanceTag, the maximum relevance boost is used. List get includedSuggestionRelevanceTags => _includedSuggestionRelevanceTags; /// The client is expected to check this list against the values of the field /// relevanceTags of AvailableSuggestion to decide if the suggestion should /// be given a different relevance than the IncludedSuggestionSet that /// contains it. This might be used for example to give higher relevance to /// suggestions of matching types. /// /// If an AvailableSuggestion has relevance tags that match more than one /// IncludedSuggestionRelevanceTag, the maximum relevance boost is used. set includedSuggestionRelevanceTags( List value) { _includedSuggestionRelevanceTags = value; } CompletionResultsParams(String id, int replacementOffset, int replacementLength, List results, bool isLast, {String libraryFile, List includedSuggestionSets, List includedElementKinds, List includedSuggestionRelevanceTags}) { this.id = id; this.replacementOffset = replacementOffset; this.replacementLength = replacementLength; this.results = results; this.isLast = isLast; this.libraryFile = libraryFile; this.includedSuggestionSets = includedSuggestionSets; this.includedElementKinds = includedElementKinds; this.includedSuggestionRelevanceTags = includedSuggestionRelevanceTags; } factory CompletionResultsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } int replacementOffset; if (json.containsKey('replacementOffset')) { replacementOffset = jsonDecoder.decodeInt( jsonPath + '.replacementOffset', json['replacementOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'replacementOffset'); } int replacementLength; if (json.containsKey('replacementLength')) { replacementLength = jsonDecoder.decodeInt( jsonPath + '.replacementLength', json['replacementLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'replacementLength'); } List results; if (json.containsKey('results')) { results = jsonDecoder.decodeList( jsonPath + '.results', json['results'], (String jsonPath, Object json) => CompletionSuggestion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'results'); } bool isLast; if (json.containsKey('isLast')) { isLast = jsonDecoder.decodeBool(jsonPath + '.isLast', json['isLast']); } else { throw jsonDecoder.mismatch(jsonPath, 'isLast'); } String libraryFile; if (json.containsKey('libraryFile')) { libraryFile = jsonDecoder.decodeString( jsonPath + '.libraryFile', json['libraryFile']); } List includedSuggestionSets; if (json.containsKey('includedSuggestionSets')) { includedSuggestionSets = jsonDecoder.decodeList( jsonPath + '.includedSuggestionSets', json['includedSuggestionSets'], (String jsonPath, Object json) => IncludedSuggestionSet.fromJson(jsonDecoder, jsonPath, json)); } List includedElementKinds; if (json.containsKey('includedElementKinds')) { includedElementKinds = jsonDecoder.decodeList( jsonPath + '.includedElementKinds', json['includedElementKinds'], (String jsonPath, Object json) => ElementKind.fromJson(jsonDecoder, jsonPath, json)); } List includedSuggestionRelevanceTags; if (json.containsKey('includedSuggestionRelevanceTags')) { includedSuggestionRelevanceTags = jsonDecoder.decodeList( jsonPath + '.includedSuggestionRelevanceTags', json['includedSuggestionRelevanceTags'], (String jsonPath, Object json) => IncludedSuggestionRelevanceTag.fromJson( jsonDecoder, jsonPath, json)); } return CompletionResultsParams( id, replacementOffset, replacementLength, results, isLast, libraryFile: libraryFile, includedSuggestionSets: includedSuggestionSets, includedElementKinds: includedElementKinds, includedSuggestionRelevanceTags: includedSuggestionRelevanceTags); } else { throw jsonDecoder.mismatch(jsonPath, 'completion.results params', json); } } factory CompletionResultsParams.fromNotification(Notification notification) { return CompletionResultsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['id'] = id; result['replacementOffset'] = replacementOffset; result['replacementLength'] = replacementLength; result['results'] = results.map((CompletionSuggestion value) => value.toJson()).toList(); result['isLast'] = isLast; if (libraryFile != null) { result['libraryFile'] = libraryFile; } if (includedSuggestionSets != null) { result['includedSuggestionSets'] = includedSuggestionSets .map((IncludedSuggestionSet value) => value.toJson()) .toList(); } if (includedElementKinds != null) { result['includedElementKinds'] = includedElementKinds .map((ElementKind value) => value.toJson()) .toList(); } if (includedSuggestionRelevanceTags != null) { result['includedSuggestionRelevanceTags'] = includedSuggestionRelevanceTags .map((IncludedSuggestionRelevanceTag value) => value.toJson()) .toList(); } return result; } Notification toNotification() { return Notification('completion.results', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionResultsParams) { return id == other.id && replacementOffset == other.replacementOffset && replacementLength == other.replacementLength && listEqual(results, other.results, (CompletionSuggestion a, CompletionSuggestion b) => a == b) && isLast == other.isLast && libraryFile == other.libraryFile && listEqual(includedSuggestionSets, other.includedSuggestionSets, (IncludedSuggestionSet a, IncludedSuggestionSet b) => a == b) && listEqual(includedElementKinds, other.includedElementKinds, (ElementKind a, ElementKind b) => a == b) && listEqual( includedSuggestionRelevanceTags, other.includedSuggestionRelevanceTags, (IncludedSuggestionRelevanceTag a, IncludedSuggestionRelevanceTag b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, replacementOffset.hashCode); hash = JenkinsSmiHash.combine(hash, replacementLength.hashCode); hash = JenkinsSmiHash.combine(hash, results.hashCode); hash = JenkinsSmiHash.combine(hash, isLast.hashCode); hash = JenkinsSmiHash.combine(hash, libraryFile.hashCode); hash = JenkinsSmiHash.combine(hash, includedSuggestionSets.hashCode); hash = JenkinsSmiHash.combine(hash, includedElementKinds.hashCode); hash = JenkinsSmiHash.combine(hash, includedSuggestionRelevanceTags.hashCode); return JenkinsSmiHash.finish(hash); } } /// CompletionService /// /// enum { /// AVAILABLE_SUGGESTION_SETS /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionService implements Enum { /// The client will receive availableSuggestions notifications once /// subscribed with completion suggestion sets from the libraries of /// interest. The client should keep an up-to-date record of these in memory /// so that it will be able to union these candidates with other completion /// suggestions when applicable at completion time. /// /// The client will also receive existingImports notifications. static const CompletionService AVAILABLE_SUGGESTION_SETS = CompletionService._('AVAILABLE_SUGGESTION_SETS'); /// A list containing all of the enum values that are defined. static const List VALUES = [ AVAILABLE_SUGGESTION_SETS ]; @override final String name; const CompletionService._(this.name); factory CompletionService(String name) { switch (name) { case 'AVAILABLE_SUGGESTION_SETS': return AVAILABLE_SUGGESTION_SETS; } throw Exception('Illegal enum value: $name'); } factory CompletionService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return CompletionService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'CompletionService', json); } @override String toString() => 'CompletionService.$name'; String toJson() => name; } /// completion.setSubscriptions params /// /// { /// "subscriptions": List /// } /// /// Clients may not extend, implement or mix-in this class. class CompletionSetSubscriptionsParams implements RequestParams { List _subscriptions; /// A list of the services being subscribed to. List get subscriptions => _subscriptions; /// A list of the services being subscribed to. set subscriptions(List value) { assert(value != null); _subscriptions = value; } CompletionSetSubscriptionsParams(List subscriptions) { this.subscriptions = subscriptions; } factory CompletionSetSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeList( jsonPath + '.subscriptions', json['subscriptions'], (String jsonPath, Object json) => CompletionService.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return CompletionSetSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'completion.setSubscriptions params', json); } } factory CompletionSetSubscriptionsParams.fromRequest(Request request) { return CompletionSetSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = subscriptions.map((CompletionService value) => value.toJson()).toList(); return result; } @override Request toRequest(String id) { return Request(id, 'completion.setSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is CompletionSetSubscriptionsParams) { return listEqual(subscriptions, other.subscriptions, (CompletionService a, CompletionService b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// completion.setSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class CompletionSetSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is CompletionSetSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 2482770; } } /// ContextData /// /// { /// "name": String /// "explicitFileCount": int /// "implicitFileCount": int /// "workItemQueueLength": int /// "cacheEntryExceptions": List /// } /// /// Clients may not extend, implement or mix-in this class. class ContextData implements HasToJson { String _name; int _explicitFileCount; int _implicitFileCount; int _workItemQueueLength; List _cacheEntryExceptions; /// The name of the context. String get name => _name; /// The name of the context. set name(String value) { assert(value != null); _name = value; } /// Explicitly analyzed files. int get explicitFileCount => _explicitFileCount; /// Explicitly analyzed files. set explicitFileCount(int value) { assert(value != null); _explicitFileCount = value; } /// Implicitly analyzed files. int get implicitFileCount => _implicitFileCount; /// Implicitly analyzed files. set implicitFileCount(int value) { assert(value != null); _implicitFileCount = value; } /// The number of work items in the queue. int get workItemQueueLength => _workItemQueueLength; /// The number of work items in the queue. set workItemQueueLength(int value) { assert(value != null); _workItemQueueLength = value; } /// Exceptions associated with cache entries. List get cacheEntryExceptions => _cacheEntryExceptions; /// Exceptions associated with cache entries. set cacheEntryExceptions(List value) { assert(value != null); _cacheEntryExceptions = value; } ContextData(String name, int explicitFileCount, int implicitFileCount, int workItemQueueLength, List cacheEntryExceptions) { this.name = name; this.explicitFileCount = explicitFileCount; this.implicitFileCount = implicitFileCount; this.workItemQueueLength = workItemQueueLength; this.cacheEntryExceptions = cacheEntryExceptions; } factory ContextData.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } int explicitFileCount; if (json.containsKey('explicitFileCount')) { explicitFileCount = jsonDecoder.decodeInt( jsonPath + '.explicitFileCount', json['explicitFileCount']); } else { throw jsonDecoder.mismatch(jsonPath, 'explicitFileCount'); } int implicitFileCount; if (json.containsKey('implicitFileCount')) { implicitFileCount = jsonDecoder.decodeInt( jsonPath + '.implicitFileCount', json['implicitFileCount']); } else { throw jsonDecoder.mismatch(jsonPath, 'implicitFileCount'); } int workItemQueueLength; if (json.containsKey('workItemQueueLength')) { workItemQueueLength = jsonDecoder.decodeInt( jsonPath + '.workItemQueueLength', json['workItemQueueLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'workItemQueueLength'); } List cacheEntryExceptions; if (json.containsKey('cacheEntryExceptions')) { cacheEntryExceptions = jsonDecoder.decodeList( jsonPath + '.cacheEntryExceptions', json['cacheEntryExceptions'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'cacheEntryExceptions'); } return ContextData(name, explicitFileCount, implicitFileCount, workItemQueueLength, cacheEntryExceptions); } else { throw jsonDecoder.mismatch(jsonPath, 'ContextData', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['explicitFileCount'] = explicitFileCount; result['implicitFileCount'] = implicitFileCount; result['workItemQueueLength'] = workItemQueueLength; result['cacheEntryExceptions'] = cacheEntryExceptions; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ContextData) { return name == other.name && explicitFileCount == other.explicitFileCount && implicitFileCount == other.implicitFileCount && workItemQueueLength == other.workItemQueueLength && listEqual(cacheEntryExceptions, other.cacheEntryExceptions, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, explicitFileCount.hashCode); hash = JenkinsSmiHash.combine(hash, implicitFileCount.hashCode); hash = JenkinsSmiHash.combine(hash, workItemQueueLength.hashCode); hash = JenkinsSmiHash.combine(hash, cacheEntryExceptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// convertGetterToMethod feedback /// /// Clients may not extend, implement or mix-in this class. class ConvertGetterToMethodFeedback extends RefactoringFeedback implements HasToJson { @override bool operator ==(other) { if (other is ConvertGetterToMethodFeedback) { return true; } return false; } @override int get hashCode { return 616032599; } } /// convertGetterToMethod options /// /// Clients may not extend, implement or mix-in this class. class ConvertGetterToMethodOptions extends RefactoringOptions implements HasToJson { @override bool operator ==(other) { if (other is ConvertGetterToMethodOptions) { return true; } return false; } @override int get hashCode { return 488848400; } } /// convertMethodToGetter feedback /// /// Clients may not extend, implement or mix-in this class. class ConvertMethodToGetterFeedback extends RefactoringFeedback implements HasToJson { @override bool operator ==(other) { if (other is ConvertMethodToGetterFeedback) { return true; } return false; } @override int get hashCode { return 165291526; } } /// convertMethodToGetter options /// /// Clients may not extend, implement or mix-in this class. class ConvertMethodToGetterOptions extends RefactoringOptions implements HasToJson { @override bool operator ==(other) { if (other is ConvertMethodToGetterOptions) { return true; } return false; } @override int get hashCode { return 27952290; } } /// DartFix /// /// { /// "name": String /// "description": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class DartFix implements HasToJson { String _name; String _description; /// The name of the fix. String get name => _name; /// The name of the fix. set name(String value) { assert(value != null); _name = value; } /// A human readable description of the fix. String get description => _description; /// A human readable description of the fix. set description(String value) { _description = value; } DartFix(String name, {String description}) { this.name = name; this.description = description; } factory DartFix.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } String description; if (json.containsKey('description')) { description = jsonDecoder.decodeString( jsonPath + '.description', json['description']); } return DartFix(name, description: description); } else { throw jsonDecoder.mismatch(jsonPath, 'DartFix', json); } } @override Map toJson() { var result = {}; result['name'] = name; if (description != null) { result['description'] = description; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is DartFix) { return name == other.name && description == other.description; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, description.hashCode); return JenkinsSmiHash.finish(hash); } } /// DartFixSuggestion /// /// { /// "description": String /// "location": optional Location /// } /// /// Clients may not extend, implement or mix-in this class. class DartFixSuggestion implements HasToJson { String _description; Location _location; /// A human readable description of the suggested change. String get description => _description; /// A human readable description of the suggested change. set description(String value) { assert(value != null); _description = value; } /// The location of the suggested change. Location get location => _location; /// The location of the suggested change. set location(Location value) { _location = value; } DartFixSuggestion(String description, {Location location}) { this.description = description; this.location = location; } factory DartFixSuggestion.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String description; if (json.containsKey('description')) { description = jsonDecoder.decodeString( jsonPath + '.description', json['description']); } else { throw jsonDecoder.mismatch(jsonPath, 'description'); } Location location; if (json.containsKey('location')) { location = Location.fromJson( jsonDecoder, jsonPath + '.location', json['location']); } return DartFixSuggestion(description, location: location); } else { throw jsonDecoder.mismatch(jsonPath, 'DartFixSuggestion', json); } } @override Map toJson() { var result = {}; result['description'] = description; if (location != null) { result['location'] = location.toJson(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is DartFixSuggestion) { return description == other.description && location == other.location; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, description.hashCode); hash = JenkinsSmiHash.combine(hash, location.hashCode); return JenkinsSmiHash.finish(hash); } } /// diagnostic.getDiagnostics params /// /// Clients may not extend, implement or mix-in this class. class DiagnosticGetDiagnosticsParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'diagnostic.getDiagnostics', null); } @override bool operator ==(other) { if (other is DiagnosticGetDiagnosticsParams) { return true; } return false; } @override int get hashCode { return 587526202; } } /// diagnostic.getDiagnostics result /// /// { /// "contexts": List /// } /// /// Clients may not extend, implement or mix-in this class. class DiagnosticGetDiagnosticsResult implements ResponseResult { List _contexts; /// The list of analysis contexts. List get contexts => _contexts; /// The list of analysis contexts. set contexts(List value) { assert(value != null); _contexts = value; } DiagnosticGetDiagnosticsResult(List contexts) { this.contexts = contexts; } factory DiagnosticGetDiagnosticsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List contexts; if (json.containsKey('contexts')) { contexts = jsonDecoder.decodeList( jsonPath + '.contexts', json['contexts'], (String jsonPath, Object json) => ContextData.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'contexts'); } return DiagnosticGetDiagnosticsResult(contexts); } else { throw jsonDecoder.mismatch( jsonPath, 'diagnostic.getDiagnostics result', json); } } factory DiagnosticGetDiagnosticsResult.fromResponse(Response response) { return DiagnosticGetDiagnosticsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['contexts'] = contexts.map((ContextData value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is DiagnosticGetDiagnosticsResult) { return listEqual( contexts, other.contexts, (ContextData a, ContextData b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, contexts.hashCode); return JenkinsSmiHash.finish(hash); } } /// diagnostic.getServerPort params /// /// Clients may not extend, implement or mix-in this class. class DiagnosticGetServerPortParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'diagnostic.getServerPort', null); } @override bool operator ==(other) { if (other is DiagnosticGetServerPortParams) { return true; } return false; } @override int get hashCode { return 367508704; } } /// diagnostic.getServerPort result /// /// { /// "port": int /// } /// /// Clients may not extend, implement or mix-in this class. class DiagnosticGetServerPortResult implements ResponseResult { int _port; /// The diagnostic server port. int get port => _port; /// The diagnostic server port. set port(int value) { assert(value != null); _port = value; } DiagnosticGetServerPortResult(int port) { this.port = port; } factory DiagnosticGetServerPortResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int port; if (json.containsKey('port')) { port = jsonDecoder.decodeInt(jsonPath + '.port', json['port']); } else { throw jsonDecoder.mismatch(jsonPath, 'port'); } return DiagnosticGetServerPortResult(port); } else { throw jsonDecoder.mismatch( jsonPath, 'diagnostic.getServerPort result', json); } } factory DiagnosticGetServerPortResult.fromResponse(Response response) { return DiagnosticGetServerPortResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['port'] = port; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is DiagnosticGetServerPortResult) { return port == other.port; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, port.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.bulkFixes params /// /// { /// "included": List /// "inTestMode": optional bool /// } /// /// Clients may not extend, implement or mix-in this class. class EditBulkFixesParams implements RequestParams { List _included; bool _inTestMode; /// A list of the files and directories for which edits should be suggested. /// /// If a request is made with a path that is invalid, e.g. is not absolute /// and normalized, an error of type INVALID_FILE_PATH_FORMAT will be /// generated. If a request is made for a file which does not exist, or which /// is not currently subject to analysis (e.g. because it is not associated /// with any analysis root specified to analysis.setAnalysisRoots), an error /// of type FILE_NOT_ANALYZED will be generated. List get included => _included; /// A list of the files and directories for which edits should be suggested. /// /// If a request is made with a path that is invalid, e.g. is not absolute /// and normalized, an error of type INVALID_FILE_PATH_FORMAT will be /// generated. If a request is made for a file which does not exist, or which /// is not currently subject to analysis (e.g. because it is not associated /// with any analysis root specified to analysis.setAnalysisRoots), an error /// of type FILE_NOT_ANALYZED will be generated. set included(List value) { assert(value != null); _included = value; } /// A flag indicating whether the bulk fixes are being run in test mode. The /// only difference is that in test mode the fix processor will look for a /// configuration file that can modify the content of the data file used to /// compute the fixes when data-driven fixes are being considered. /// /// If this field is omitted the flag defaults to false. bool get inTestMode => _inTestMode; /// A flag indicating whether the bulk fixes are being run in test mode. The /// only difference is that in test mode the fix processor will look for a /// configuration file that can modify the content of the data file used to /// compute the fixes when data-driven fixes are being considered. /// /// If this field is omitted the flag defaults to false. set inTestMode(bool value) { _inTestMode = value; } EditBulkFixesParams(List included, {bool inTestMode}) { this.included = included; this.inTestMode = inTestMode; } factory EditBulkFixesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List included; if (json.containsKey('included')) { included = jsonDecoder.decodeList( jsonPath + '.included', json['included'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'included'); } bool inTestMode; if (json.containsKey('inTestMode')) { inTestMode = jsonDecoder.decodeBool( jsonPath + '.inTestMode', json['inTestMode']); } return EditBulkFixesParams(included, inTestMode: inTestMode); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.bulkFixes params', json); } } factory EditBulkFixesParams.fromRequest(Request request) { return EditBulkFixesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['included'] = included; if (inTestMode != null) { result['inTestMode'] = inTestMode; } return result; } @override Request toRequest(String id) { return Request(id, 'edit.bulkFixes', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditBulkFixesParams) { return listEqual( included, other.included, (String a, String b) => a == b) && inTestMode == other.inTestMode; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, included.hashCode); hash = JenkinsSmiHash.combine(hash, inTestMode.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.bulkFixes result /// /// { /// "edits": List /// "details": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditBulkFixesResult implements ResponseResult { List _edits; List _details; /// A list of source edits to apply the recommended changes. List get edits => _edits; /// A list of source edits to apply the recommended changes. set edits(List value) { assert(value != null); _edits = value; } /// Details that summarize the fixes associated with the recommended changes. List get details => _details; /// Details that summarize the fixes associated with the recommended changes. set details(List value) { assert(value != null); _details = value; } EditBulkFixesResult(List edits, List details) { this.edits = edits; this.details = details; } factory EditBulkFixesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List edits; if (json.containsKey('edits')) { edits = jsonDecoder.decodeList( jsonPath + '.edits', json['edits'], (String jsonPath, Object json) => SourceFileEdit.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'edits'); } List details; if (json.containsKey('details')) { details = jsonDecoder.decodeList( jsonPath + '.details', json['details'], (String jsonPath, Object json) => BulkFix.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'details'); } return EditBulkFixesResult(edits, details); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.bulkFixes result', json); } } factory EditBulkFixesResult.fromResponse(Response response) { return EditBulkFixesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['edits'] = edits.map((SourceFileEdit value) => value.toJson()).toList(); result['details'] = details.map((BulkFix value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditBulkFixesResult) { return listEqual(edits, other.edits, (SourceFileEdit a, SourceFileEdit b) => a == b) && listEqual(details, other.details, (BulkFix a, BulkFix b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, edits.hashCode); hash = JenkinsSmiHash.combine(hash, details.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.dartfix params /// /// { /// "included": List /// "includedFixes": optional List /// "includePedanticFixes": optional bool /// "excludedFixes": optional List /// "port": optional int /// "outputDir": optional FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class EditDartfixParams implements RequestParams { List _included; List _includedFixes; bool _includePedanticFixes; List _excludedFixes; int _port; String _outputDir; /// A list of the files and directories for which edits should be suggested. /// /// If a request is made with a path that is invalid, e.g. is not absolute /// and normalized, an error of type INVALID_FILE_PATH_FORMAT will be /// generated. If a request is made for a file which does not exist, or which /// is not currently subject to analysis (e.g. because it is not associated /// with any analysis root specified to analysis.setAnalysisRoots), an error /// of type FILE_NOT_ANALYZED will be generated. List get included => _included; /// A list of the files and directories for which edits should be suggested. /// /// If a request is made with a path that is invalid, e.g. is not absolute /// and normalized, an error of type INVALID_FILE_PATH_FORMAT will be /// generated. If a request is made for a file which does not exist, or which /// is not currently subject to analysis (e.g. because it is not associated /// with any analysis root specified to analysis.setAnalysisRoots), an error /// of type FILE_NOT_ANALYZED will be generated. set included(List value) { assert(value != null); _included = value; } /// A list of names indicating which fixes should be applied. /// /// If a name is specified that does not match the name of a known fix, an /// error of type UNKNOWN_FIX will be generated. List get includedFixes => _includedFixes; /// A list of names indicating which fixes should be applied. /// /// If a name is specified that does not match the name of a known fix, an /// error of type UNKNOWN_FIX will be generated. set includedFixes(List value) { _includedFixes = value; } /// A flag indicating whether "pedantic" fixes should be applied. bool get includePedanticFixes => _includePedanticFixes; /// A flag indicating whether "pedantic" fixes should be applied. set includePedanticFixes(bool value) { _includePedanticFixes = value; } /// A list of names indicating which fixes should not be applied. /// /// If a name is specified that does not match the name of a known fix, an /// error of type UNKNOWN_FIX will be generated. List get excludedFixes => _excludedFixes; /// A list of names indicating which fixes should not be applied. /// /// If a name is specified that does not match the name of a known fix, an /// error of type UNKNOWN_FIX will be generated. set excludedFixes(List value) { _excludedFixes = value; } /// Deprecated: This field is now ignored by server. int get port => _port; /// Deprecated: This field is now ignored by server. set port(int value) { _port = value; } /// Deprecated: This field is now ignored by server. String get outputDir => _outputDir; /// Deprecated: This field is now ignored by server. set outputDir(String value) { _outputDir = value; } EditDartfixParams(List included, {List includedFixes, bool includePedanticFixes, List excludedFixes, int port, String outputDir}) { this.included = included; this.includedFixes = includedFixes; this.includePedanticFixes = includePedanticFixes; this.excludedFixes = excludedFixes; this.port = port; this.outputDir = outputDir; } factory EditDartfixParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List included; if (json.containsKey('included')) { included = jsonDecoder.decodeList( jsonPath + '.included', json['included'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'included'); } List includedFixes; if (json.containsKey('includedFixes')) { includedFixes = jsonDecoder.decodeList(jsonPath + '.includedFixes', json['includedFixes'], jsonDecoder.decodeString); } bool includePedanticFixes; if (json.containsKey('includePedanticFixes')) { includePedanticFixes = jsonDecoder.decodeBool( jsonPath + '.includePedanticFixes', json['includePedanticFixes']); } List excludedFixes; if (json.containsKey('excludedFixes')) { excludedFixes = jsonDecoder.decodeList(jsonPath + '.excludedFixes', json['excludedFixes'], jsonDecoder.decodeString); } int port; if (json.containsKey('port')) { port = jsonDecoder.decodeInt(jsonPath + '.port', json['port']); } String outputDir; if (json.containsKey('outputDir')) { outputDir = jsonDecoder.decodeString( jsonPath + '.outputDir', json['outputDir']); } return EditDartfixParams(included, includedFixes: includedFixes, includePedanticFixes: includePedanticFixes, excludedFixes: excludedFixes, port: port, outputDir: outputDir); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.dartfix params', json); } } factory EditDartfixParams.fromRequest(Request request) { return EditDartfixParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['included'] = included; if (includedFixes != null) { result['includedFixes'] = includedFixes; } if (includePedanticFixes != null) { result['includePedanticFixes'] = includePedanticFixes; } if (excludedFixes != null) { result['excludedFixes'] = excludedFixes; } if (port != null) { result['port'] = port; } if (outputDir != null) { result['outputDir'] = outputDir; } return result; } @override Request toRequest(String id) { return Request(id, 'edit.dartfix', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditDartfixParams) { return listEqual( included, other.included, (String a, String b) => a == b) && listEqual(includedFixes, other.includedFixes, (String a, String b) => a == b) && includePedanticFixes == other.includePedanticFixes && listEqual(excludedFixes, other.excludedFixes, (String a, String b) => a == b) && port == other.port && outputDir == other.outputDir; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, included.hashCode); hash = JenkinsSmiHash.combine(hash, includedFixes.hashCode); hash = JenkinsSmiHash.combine(hash, includePedanticFixes.hashCode); hash = JenkinsSmiHash.combine(hash, excludedFixes.hashCode); hash = JenkinsSmiHash.combine(hash, port.hashCode); hash = JenkinsSmiHash.combine(hash, outputDir.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.dartfix result /// /// { /// "suggestions": List /// "otherSuggestions": List /// "hasErrors": bool /// "edits": List /// "details": optional List /// "port": optional int /// "urls": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class EditDartfixResult implements ResponseResult { List _suggestions; List _otherSuggestions; bool _hasErrors; List _edits; List _details; int _port; List _urls; /// A list of recommended changes that can be automatically made by applying /// the 'edits' included in this response. List get suggestions => _suggestions; /// A list of recommended changes that can be automatically made by applying /// the 'edits' included in this response. set suggestions(List value) { assert(value != null); _suggestions = value; } /// A list of recommended changes that could not be automatically made. List get otherSuggestions => _otherSuggestions; /// A list of recommended changes that could not be automatically made. set otherSuggestions(List value) { assert(value != null); _otherSuggestions = value; } /// True if the analyzed source contains errors that might impact the /// correctness of the recommended changes that can be automatically applied. bool get hasErrors => _hasErrors; /// True if the analyzed source contains errors that might impact the /// correctness of the recommended changes that can be automatically applied. set hasErrors(bool value) { assert(value != null); _hasErrors = value; } /// A list of source edits to apply the recommended changes. List get edits => _edits; /// A list of source edits to apply the recommended changes. set edits(List value) { assert(value != null); _edits = value; } /// Messages that should be displayed to the user that describe details of /// the fix generation. For example, the messages might (a) point out details /// that users might want to explore before committing the changes or (b) /// describe exceptions that were thrown but that did not stop the fixes from /// being produced. The list will be omitted if it is empty. List get details => _details; /// Messages that should be displayed to the user that describe details of /// the fix generation. For example, the messages might (a) point out details /// that users might want to explore before committing the changes or (b) /// describe exceptions that were thrown but that did not stop the fixes from /// being produced. The list will be omitted if it is empty. set details(List value) { _details = value; } /// The port on which the preview tool will respond to GET requests. The /// field is omitted if a preview was not requested. int get port => _port; /// The port on which the preview tool will respond to GET requests. The /// field is omitted if a preview was not requested. set port(int value) { _port = value; } /// The URLs that users can visit in a browser to see a preview of the /// proposed changes. There is one URL for each of the included file paths. /// The field is omitted if a preview was not requested. List get urls => _urls; /// The URLs that users can visit in a browser to see a preview of the /// proposed changes. There is one URL for each of the included file paths. /// The field is omitted if a preview was not requested. set urls(List value) { _urls = value; } EditDartfixResult( List suggestions, List otherSuggestions, bool hasErrors, List edits, {List details, int port, List urls}) { this.suggestions = suggestions; this.otherSuggestions = otherSuggestions; this.hasErrors = hasErrors; this.edits = edits; this.details = details; this.port = port; this.urls = urls; } factory EditDartfixResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List suggestions; if (json.containsKey('suggestions')) { suggestions = jsonDecoder.decodeList( jsonPath + '.suggestions', json['suggestions'], (String jsonPath, Object json) => DartFixSuggestion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'suggestions'); } List otherSuggestions; if (json.containsKey('otherSuggestions')) { otherSuggestions = jsonDecoder.decodeList( jsonPath + '.otherSuggestions', json['otherSuggestions'], (String jsonPath, Object json) => DartFixSuggestion.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'otherSuggestions'); } bool hasErrors; if (json.containsKey('hasErrors')) { hasErrors = jsonDecoder.decodeBool(jsonPath + '.hasErrors', json['hasErrors']); } else { throw jsonDecoder.mismatch(jsonPath, 'hasErrors'); } List edits; if (json.containsKey('edits')) { edits = jsonDecoder.decodeList( jsonPath + '.edits', json['edits'], (String jsonPath, Object json) => SourceFileEdit.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'edits'); } List details; if (json.containsKey('details')) { details = jsonDecoder.decodeList( jsonPath + '.details', json['details'], jsonDecoder.decodeString); } int port; if (json.containsKey('port')) { port = jsonDecoder.decodeInt(jsonPath + '.port', json['port']); } List urls; if (json.containsKey('urls')) { urls = jsonDecoder.decodeList( jsonPath + '.urls', json['urls'], jsonDecoder.decodeString); } return EditDartfixResult(suggestions, otherSuggestions, hasErrors, edits, details: details, port: port, urls: urls); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.dartfix result', json); } } factory EditDartfixResult.fromResponse(Response response) { return EditDartfixResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['suggestions'] = suggestions.map((DartFixSuggestion value) => value.toJson()).toList(); result['otherSuggestions'] = otherSuggestions .map((DartFixSuggestion value) => value.toJson()) .toList(); result['hasErrors'] = hasErrors; result['edits'] = edits.map((SourceFileEdit value) => value.toJson()).toList(); if (details != null) { result['details'] = details; } if (port != null) { result['port'] = port; } if (urls != null) { result['urls'] = urls; } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditDartfixResult) { return listEqual(suggestions, other.suggestions, (DartFixSuggestion a, DartFixSuggestion b) => a == b) && listEqual(otherSuggestions, other.otherSuggestions, (DartFixSuggestion a, DartFixSuggestion b) => a == b) && hasErrors == other.hasErrors && listEqual(edits, other.edits, (SourceFileEdit a, SourceFileEdit b) => a == b) && listEqual(details, other.details, (String a, String b) => a == b) && port == other.port && listEqual(urls, other.urls, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, suggestions.hashCode); hash = JenkinsSmiHash.combine(hash, otherSuggestions.hashCode); hash = JenkinsSmiHash.combine(hash, hasErrors.hashCode); hash = JenkinsSmiHash.combine(hash, edits.hashCode); hash = JenkinsSmiHash.combine(hash, details.hashCode); hash = JenkinsSmiHash.combine(hash, port.hashCode); hash = JenkinsSmiHash.combine(hash, urls.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.format params /// /// { /// "file": FilePath /// "selectionOffset": int /// "selectionLength": int /// "lineLength": optional int /// } /// /// Clients may not extend, implement or mix-in this class. class EditFormatParams implements RequestParams { String _file; int _selectionOffset; int _selectionLength; int _lineLength; /// The file containing the code to be formatted. String get file => _file; /// The file containing the code to be formatted. set file(String value) { assert(value != null); _file = value; } /// The offset of the current selection in the file. int get selectionOffset => _selectionOffset; /// The offset of the current selection in the file. set selectionOffset(int value) { assert(value != null); _selectionOffset = value; } /// The length of the current selection in the file. int get selectionLength => _selectionLength; /// The length of the current selection in the file. set selectionLength(int value) { assert(value != null); _selectionLength = value; } /// The line length to be used by the formatter. int get lineLength => _lineLength; /// The line length to be used by the formatter. set lineLength(int value) { _lineLength = value; } EditFormatParams(String file, int selectionOffset, int selectionLength, {int lineLength}) { this.file = file; this.selectionOffset = selectionOffset; this.selectionLength = selectionLength; this.lineLength = lineLength; } factory EditFormatParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int selectionOffset; if (json.containsKey('selectionOffset')) { selectionOffset = jsonDecoder.decodeInt( jsonPath + '.selectionOffset', json['selectionOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'selectionOffset'); } int selectionLength; if (json.containsKey('selectionLength')) { selectionLength = jsonDecoder.decodeInt( jsonPath + '.selectionLength', json['selectionLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'selectionLength'); } int lineLength; if (json.containsKey('lineLength')) { lineLength = jsonDecoder.decodeInt(jsonPath + '.lineLength', json['lineLength']); } return EditFormatParams(file, selectionOffset, selectionLength, lineLength: lineLength); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.format params', json); } } factory EditFormatParams.fromRequest(Request request) { return EditFormatParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['selectionOffset'] = selectionOffset; result['selectionLength'] = selectionLength; if (lineLength != null) { result['lineLength'] = lineLength; } return result; } @override Request toRequest(String id) { return Request(id, 'edit.format', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditFormatParams) { return file == other.file && selectionOffset == other.selectionOffset && selectionLength == other.selectionLength && lineLength == other.lineLength; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, selectionOffset.hashCode); hash = JenkinsSmiHash.combine(hash, selectionLength.hashCode); hash = JenkinsSmiHash.combine(hash, lineLength.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.format result /// /// { /// "edits": List /// "selectionOffset": int /// "selectionLength": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditFormatResult implements ResponseResult { List _edits; int _selectionOffset; int _selectionLength; /// The edit(s) to be applied in order to format the code. The list will be /// empty if the code was already formatted (there are no changes). List get edits => _edits; /// The edit(s) to be applied in order to format the code. The list will be /// empty if the code was already formatted (there are no changes). set edits(List value) { assert(value != null); _edits = value; } /// The offset of the selection after formatting the code. int get selectionOffset => _selectionOffset; /// The offset of the selection after formatting the code. set selectionOffset(int value) { assert(value != null); _selectionOffset = value; } /// The length of the selection after formatting the code. int get selectionLength => _selectionLength; /// The length of the selection after formatting the code. set selectionLength(int value) { assert(value != null); _selectionLength = value; } EditFormatResult( List edits, int selectionOffset, int selectionLength) { this.edits = edits; this.selectionOffset = selectionOffset; this.selectionLength = selectionLength; } factory EditFormatResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List edits; if (json.containsKey('edits')) { edits = jsonDecoder.decodeList( jsonPath + '.edits', json['edits'], (String jsonPath, Object json) => SourceEdit.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'edits'); } int selectionOffset; if (json.containsKey('selectionOffset')) { selectionOffset = jsonDecoder.decodeInt( jsonPath + '.selectionOffset', json['selectionOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'selectionOffset'); } int selectionLength; if (json.containsKey('selectionLength')) { selectionLength = jsonDecoder.decodeInt( jsonPath + '.selectionLength', json['selectionLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'selectionLength'); } return EditFormatResult(edits, selectionOffset, selectionLength); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.format result', json); } } factory EditFormatResult.fromResponse(Response response) { return EditFormatResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['edits'] = edits.map((SourceEdit value) => value.toJson()).toList(); result['selectionOffset'] = selectionOffset; result['selectionLength'] = selectionLength; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditFormatResult) { return listEqual( edits, other.edits, (SourceEdit a, SourceEdit b) => a == b) && selectionOffset == other.selectionOffset && selectionLength == other.selectionLength; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, edits.hashCode); hash = JenkinsSmiHash.combine(hash, selectionOffset.hashCode); hash = JenkinsSmiHash.combine(hash, selectionLength.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getAssists params /// /// { /// "file": FilePath /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetAssistsParams implements RequestParams { String _file; int _offset; int _length; /// The file containing the code for which assists are being requested. String get file => _file; /// The file containing the code for which assists are being requested. set file(String value) { assert(value != null); _file = value; } /// The offset of the code for which assists are being requested. int get offset => _offset; /// The offset of the code for which assists are being requested. set offset(int value) { assert(value != null); _offset = value; } /// The length of the code for which assists are being requested. int get length => _length; /// The length of the code for which assists are being requested. set length(int value) { assert(value != null); _length = value; } EditGetAssistsParams(String file, int offset, int length) { this.file = file; this.offset = offset; this.length = length; } factory EditGetAssistsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return EditGetAssistsParams(file, offset, length); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getAssists params', json); } } factory EditGetAssistsParams.fromRequest(Request request) { return EditGetAssistsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['length'] = length; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getAssists', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetAssistsParams) { return file == other.file && offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getAssists result /// /// { /// "assists": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetAssistsResult implements ResponseResult { List _assists; /// The assists that are available at the given location. List get assists => _assists; /// The assists that are available at the given location. set assists(List value) { assert(value != null); _assists = value; } EditGetAssistsResult(List assists) { this.assists = assists; } factory EditGetAssistsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List assists; if (json.containsKey('assists')) { assists = jsonDecoder.decodeList( jsonPath + '.assists', json['assists'], (String jsonPath, Object json) => SourceChange.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'assists'); } return EditGetAssistsResult(assists); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getAssists result', json); } } factory EditGetAssistsResult.fromResponse(Response response) { return EditGetAssistsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['assists'] = assists.map((SourceChange value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetAssistsResult) { return listEqual( assists, other.assists, (SourceChange a, SourceChange b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, assists.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getAvailableRefactorings params /// /// { /// "file": FilePath /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetAvailableRefactoringsParams implements RequestParams { String _file; int _offset; int _length; /// The file containing the code on which the refactoring would be based. String get file => _file; /// The file containing the code on which the refactoring would be based. set file(String value) { assert(value != null); _file = value; } /// The offset of the code on which the refactoring would be based. int get offset => _offset; /// The offset of the code on which the refactoring would be based. set offset(int value) { assert(value != null); _offset = value; } /// The length of the code on which the refactoring would be based. int get length => _length; /// The length of the code on which the refactoring would be based. set length(int value) { assert(value != null); _length = value; } EditGetAvailableRefactoringsParams(String file, int offset, int length) { this.file = file; this.offset = offset; this.length = length; } factory EditGetAvailableRefactoringsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return EditGetAvailableRefactoringsParams(file, offset, length); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getAvailableRefactorings params', json); } } factory EditGetAvailableRefactoringsParams.fromRequest(Request request) { return EditGetAvailableRefactoringsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['length'] = length; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getAvailableRefactorings', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetAvailableRefactoringsParams) { return file == other.file && offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getAvailableRefactorings result /// /// { /// "kinds": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetAvailableRefactoringsResult implements ResponseResult { List _kinds; /// The kinds of refactorings that are valid for the given selection. List get kinds => _kinds; /// The kinds of refactorings that are valid for the given selection. set kinds(List value) { assert(value != null); _kinds = value; } EditGetAvailableRefactoringsResult(List kinds) { this.kinds = kinds; } factory EditGetAvailableRefactoringsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List kinds; if (json.containsKey('kinds')) { kinds = jsonDecoder.decodeList( jsonPath + '.kinds', json['kinds'], (String jsonPath, Object json) => RefactoringKind.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'kinds'); } return EditGetAvailableRefactoringsResult(kinds); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getAvailableRefactorings result', json); } } factory EditGetAvailableRefactoringsResult.fromResponse(Response response) { return EditGetAvailableRefactoringsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['kinds'] = kinds.map((RefactoringKind value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetAvailableRefactoringsResult) { return listEqual( kinds, other.kinds, (RefactoringKind a, RefactoringKind b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, kinds.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getDartfixInfo params /// /// { /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetDartfixInfoParams implements RequestParams { EditGetDartfixInfoParams(); factory EditGetDartfixInfoParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { return EditGetDartfixInfoParams(); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getDartfixInfo params', json); } } factory EditGetDartfixInfoParams.fromRequest(Request request) { return EditGetDartfixInfoParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getDartfixInfo', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetDartfixInfoParams) { return true; } return false; } @override int get hashCode { var hash = 0; return JenkinsSmiHash.finish(hash); } } /// edit.getDartfixInfo result /// /// { /// "fixes": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetDartfixInfoResult implements ResponseResult { List _fixes; /// A list of fixes that can be specified in an edit.dartfix request. List get fixes => _fixes; /// A list of fixes that can be specified in an edit.dartfix request. set fixes(List value) { assert(value != null); _fixes = value; } EditGetDartfixInfoResult(List fixes) { this.fixes = fixes; } factory EditGetDartfixInfoResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List fixes; if (json.containsKey('fixes')) { fixes = jsonDecoder.decodeList( jsonPath + '.fixes', json['fixes'], (String jsonPath, Object json) => DartFix.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'fixes'); } return EditGetDartfixInfoResult(fixes); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getDartfixInfo result', json); } } factory EditGetDartfixInfoResult.fromResponse(Response response) { return EditGetDartfixInfoResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['fixes'] = fixes.map((DartFix value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetDartfixInfoResult) { return listEqual(fixes, other.fixes, (DartFix a, DartFix b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, fixes.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getFixes params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetFixesParams implements RequestParams { String _file; int _offset; /// The file containing the errors for which fixes are being requested. String get file => _file; /// The file containing the errors for which fixes are being requested. set file(String value) { assert(value != null); _file = value; } /// The offset used to select the errors for which fixes will be returned. int get offset => _offset; /// The offset used to select the errors for which fixes will be returned. set offset(int value) { assert(value != null); _offset = value; } EditGetFixesParams(String file, int offset) { this.file = file; this.offset = offset; } factory EditGetFixesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return EditGetFixesParams(file, offset); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getFixes params', json); } } factory EditGetFixesParams.fromRequest(Request request) { return EditGetFixesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getFixes', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetFixesParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getFixes result /// /// { /// "fixes": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetFixesResult implements ResponseResult { List _fixes; /// The fixes that are available for the errors at the given offset. List get fixes => _fixes; /// The fixes that are available for the errors at the given offset. set fixes(List value) { assert(value != null); _fixes = value; } EditGetFixesResult(List fixes) { this.fixes = fixes; } factory EditGetFixesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List fixes; if (json.containsKey('fixes')) { fixes = jsonDecoder.decodeList( jsonPath + '.fixes', json['fixes'], (String jsonPath, Object json) => AnalysisErrorFixes.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'fixes'); } return EditGetFixesResult(fixes); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getFixes result', json); } } factory EditGetFixesResult.fromResponse(Response response) { return EditGetFixesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['fixes'] = fixes.map((AnalysisErrorFixes value) => value.toJson()).toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetFixesResult) { return listEqual(fixes, other.fixes, (AnalysisErrorFixes a, AnalysisErrorFixes b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, fixes.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getPostfixCompletion params /// /// { /// "file": FilePath /// "key": String /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetPostfixCompletionParams implements RequestParams { String _file; String _key; int _offset; /// The file containing the postfix template to be expanded. String get file => _file; /// The file containing the postfix template to be expanded. set file(String value) { assert(value != null); _file = value; } /// The unique name that identifies the template in use. String get key => _key; /// The unique name that identifies the template in use. set key(String value) { assert(value != null); _key = value; } /// The offset used to identify the code to which the template will be /// applied. int get offset => _offset; /// The offset used to identify the code to which the template will be /// applied. set offset(int value) { assert(value != null); _offset = value; } EditGetPostfixCompletionParams(String file, String key, int offset) { this.file = file; this.key = key; this.offset = offset; } factory EditGetPostfixCompletionParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } String key; if (json.containsKey('key')) { key = jsonDecoder.decodeString(jsonPath + '.key', json['key']); } else { throw jsonDecoder.mismatch(jsonPath, 'key'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return EditGetPostfixCompletionParams(file, key, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getPostfixCompletion params', json); } } factory EditGetPostfixCompletionParams.fromRequest(Request request) { return EditGetPostfixCompletionParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['key'] = key; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getPostfixCompletion', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetPostfixCompletionParams) { return file == other.file && key == other.key && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, key.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getPostfixCompletion result /// /// { /// "change": SourceChange /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetPostfixCompletionResult implements ResponseResult { SourceChange _change; /// The change to be applied in order to complete the statement. SourceChange get change => _change; /// The change to be applied in order to complete the statement. set change(SourceChange value) { assert(value != null); _change = value; } EditGetPostfixCompletionResult(SourceChange change) { this.change = change; } factory EditGetPostfixCompletionResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceChange change; if (json.containsKey('change')) { change = SourceChange.fromJson( jsonDecoder, jsonPath + '.change', json['change']); } else { throw jsonDecoder.mismatch(jsonPath, 'change'); } return EditGetPostfixCompletionResult(change); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getPostfixCompletion result', json); } } factory EditGetPostfixCompletionResult.fromResponse(Response response) { return EditGetPostfixCompletionResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['change'] = change.toJson(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetPostfixCompletionResult) { return change == other.change; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, change.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getRefactoring params /// /// { /// "kind": RefactoringKind /// "file": FilePath /// "offset": int /// "length": int /// "validateOnly": bool /// "options": optional RefactoringOptions /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetRefactoringParams implements RequestParams { RefactoringKind _kind; String _file; int _offset; int _length; bool _validateOnly; RefactoringOptions _options; /// The kind of refactoring to be performed. RefactoringKind get kind => _kind; /// The kind of refactoring to be performed. set kind(RefactoringKind value) { assert(value != null); _kind = value; } /// The file containing the code involved in the refactoring. String get file => _file; /// The file containing the code involved in the refactoring. set file(String value) { assert(value != null); _file = value; } /// The offset of the region involved in the refactoring. int get offset => _offset; /// The offset of the region involved in the refactoring. set offset(int value) { assert(value != null); _offset = value; } /// The length of the region involved in the refactoring. int get length => _length; /// The length of the region involved in the refactoring. set length(int value) { assert(value != null); _length = value; } /// True if the client is only requesting that the values of the options be /// validated and no change be generated. bool get validateOnly => _validateOnly; /// True if the client is only requesting that the values of the options be /// validated and no change be generated. set validateOnly(bool value) { assert(value != null); _validateOnly = value; } /// Data used to provide values provided by the user. The structure of the /// data is dependent on the kind of refactoring being performed. The data /// that is expected is documented in the section titled Refactorings, /// labeled as "Options". This field can be omitted if the refactoring does /// not require any options or if the values of those options are not known. RefactoringOptions get options => _options; /// Data used to provide values provided by the user. The structure of the /// data is dependent on the kind of refactoring being performed. The data /// that is expected is documented in the section titled Refactorings, /// labeled as "Options". This field can be omitted if the refactoring does /// not require any options or if the values of those options are not known. set options(RefactoringOptions value) { _options = value; } EditGetRefactoringParams(RefactoringKind kind, String file, int offset, int length, bool validateOnly, {RefactoringOptions options}) { this.kind = kind; this.file = file; this.offset = offset; this.length = length; this.validateOnly = validateOnly; this.options = options; } factory EditGetRefactoringParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { RefactoringKind kind; if (json.containsKey('kind')) { kind = RefactoringKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } bool validateOnly; if (json.containsKey('validateOnly')) { validateOnly = jsonDecoder.decodeBool( jsonPath + '.validateOnly', json['validateOnly']); } else { throw jsonDecoder.mismatch(jsonPath, 'validateOnly'); } RefactoringOptions options; if (json.containsKey('options')) { options = RefactoringOptions.fromJson( jsonDecoder, jsonPath + '.options', json['options'], kind); } return EditGetRefactoringParams(kind, file, offset, length, validateOnly, options: options); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getRefactoring params', json); } } factory EditGetRefactoringParams.fromRequest(Request request) { var params = EditGetRefactoringParams.fromJson( RequestDecoder(request), 'params', request.params); REQUEST_ID_REFACTORING_KINDS[request.id] = params.kind; return params; } @override Map toJson() { var result = {}; result['kind'] = kind.toJson(); result['file'] = file; result['offset'] = offset; result['length'] = length; result['validateOnly'] = validateOnly; if (options != null) { result['options'] = options.toJson(); } return result; } @override Request toRequest(String id) { return Request(id, 'edit.getRefactoring', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetRefactoringParams) { return kind == other.kind && file == other.file && offset == other.offset && length == other.length && validateOnly == other.validateOnly && options == other.options; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, validateOnly.hashCode); hash = JenkinsSmiHash.combine(hash, options.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getRefactoring result /// /// { /// "initialProblems": List /// "optionsProblems": List /// "finalProblems": List /// "feedback": optional RefactoringFeedback /// "change": optional SourceChange /// "potentialEdits": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetRefactoringResult implements ResponseResult { List _initialProblems; List _optionsProblems; List _finalProblems; RefactoringFeedback _feedback; SourceChange _change; List _potentialEdits; /// The initial status of the refactoring, i.e. problems related to the /// context in which the refactoring is requested. The array will be empty if /// there are no known problems. List get initialProblems => _initialProblems; /// The initial status of the refactoring, i.e. problems related to the /// context in which the refactoring is requested. The array will be empty if /// there are no known problems. set initialProblems(List value) { assert(value != null); _initialProblems = value; } /// The options validation status, i.e. problems in the given options, such /// as light-weight validation of a new name, flags compatibility, etc. The /// array will be empty if there are no known problems. List get optionsProblems => _optionsProblems; /// The options validation status, i.e. problems in the given options, such /// as light-weight validation of a new name, flags compatibility, etc. The /// array will be empty if there are no known problems. set optionsProblems(List value) { assert(value != null); _optionsProblems = value; } /// The final status of the refactoring, i.e. problems identified in the /// result of a full, potentially expensive validation and / or change /// creation. The array will be empty if there are no known problems. List get finalProblems => _finalProblems; /// The final status of the refactoring, i.e. problems identified in the /// result of a full, potentially expensive validation and / or change /// creation. The array will be empty if there are no known problems. set finalProblems(List value) { assert(value != null); _finalProblems = value; } /// Data used to provide feedback to the user. The structure of the data is /// dependent on the kind of refactoring being created. The data that is /// returned is documented in the section titled Refactorings, labeled as /// "Feedback". RefactoringFeedback get feedback => _feedback; /// Data used to provide feedback to the user. The structure of the data is /// dependent on the kind of refactoring being created. The data that is /// returned is documented in the section titled Refactorings, labeled as /// "Feedback". set feedback(RefactoringFeedback value) { _feedback = value; } /// The changes that are to be applied to affect the refactoring. This field /// will be omitted if there are problems that prevent a set of changes from /// being computed, such as having no options specified for a refactoring /// that requires them, or if only validation was requested. SourceChange get change => _change; /// The changes that are to be applied to affect the refactoring. This field /// will be omitted if there are problems that prevent a set of changes from /// being computed, such as having no options specified for a refactoring /// that requires them, or if only validation was requested. set change(SourceChange value) { _change = value; } /// The ids of source edits that are not known to be valid. An edit is not /// known to be valid if there was insufficient type information for the /// server to be able to determine whether or not the code needs to be /// modified, such as when a member is being renamed and there is a reference /// to a member from an unknown type. This field will be omitted if the /// change field is omitted or if there are no potential edits for the /// refactoring. List get potentialEdits => _potentialEdits; /// The ids of source edits that are not known to be valid. An edit is not /// known to be valid if there was insufficient type information for the /// server to be able to determine whether or not the code needs to be /// modified, such as when a member is being renamed and there is a reference /// to a member from an unknown type. This field will be omitted if the /// change field is omitted or if there are no potential edits for the /// refactoring. set potentialEdits(List value) { _potentialEdits = value; } EditGetRefactoringResult( List initialProblems, List optionsProblems, List finalProblems, {RefactoringFeedback feedback, SourceChange change, List potentialEdits}) { this.initialProblems = initialProblems; this.optionsProblems = optionsProblems; this.finalProblems = finalProblems; this.feedback = feedback; this.change = change; this.potentialEdits = potentialEdits; } factory EditGetRefactoringResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List initialProblems; if (json.containsKey('initialProblems')) { initialProblems = jsonDecoder.decodeList( jsonPath + '.initialProblems', json['initialProblems'], (String jsonPath, Object json) => RefactoringProblem.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'initialProblems'); } List optionsProblems; if (json.containsKey('optionsProblems')) { optionsProblems = jsonDecoder.decodeList( jsonPath + '.optionsProblems', json['optionsProblems'], (String jsonPath, Object json) => RefactoringProblem.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'optionsProblems'); } List finalProblems; if (json.containsKey('finalProblems')) { finalProblems = jsonDecoder.decodeList( jsonPath + '.finalProblems', json['finalProblems'], (String jsonPath, Object json) => RefactoringProblem.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'finalProblems'); } RefactoringFeedback feedback; if (json.containsKey('feedback')) { feedback = RefactoringFeedback.fromJson( jsonDecoder, jsonPath + '.feedback', json['feedback'], json); } SourceChange change; if (json.containsKey('change')) { change = SourceChange.fromJson( jsonDecoder, jsonPath + '.change', json['change']); } List potentialEdits; if (json.containsKey('potentialEdits')) { potentialEdits = jsonDecoder.decodeList(jsonPath + '.potentialEdits', json['potentialEdits'], jsonDecoder.decodeString); } return EditGetRefactoringResult( initialProblems, optionsProblems, finalProblems, feedback: feedback, change: change, potentialEdits: potentialEdits); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.getRefactoring result', json); } } factory EditGetRefactoringResult.fromResponse(Response response) { return EditGetRefactoringResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['initialProblems'] = initialProblems .map((RefactoringProblem value) => value.toJson()) .toList(); result['optionsProblems'] = optionsProblems .map((RefactoringProblem value) => value.toJson()) .toList(); result['finalProblems'] = finalProblems .map((RefactoringProblem value) => value.toJson()) .toList(); if (feedback != null) { result['feedback'] = feedback.toJson(); } if (change != null) { result['change'] = change.toJson(); } if (potentialEdits != null) { result['potentialEdits'] = potentialEdits; } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetRefactoringResult) { return listEqual(initialProblems, other.initialProblems, (RefactoringProblem a, RefactoringProblem b) => a == b) && listEqual(optionsProblems, other.optionsProblems, (RefactoringProblem a, RefactoringProblem b) => a == b) && listEqual(finalProblems, other.finalProblems, (RefactoringProblem a, RefactoringProblem b) => a == b) && feedback == other.feedback && change == other.change && listEqual(potentialEdits, other.potentialEdits, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, initialProblems.hashCode); hash = JenkinsSmiHash.combine(hash, optionsProblems.hashCode); hash = JenkinsSmiHash.combine(hash, finalProblems.hashCode); hash = JenkinsSmiHash.combine(hash, feedback.hashCode); hash = JenkinsSmiHash.combine(hash, change.hashCode); hash = JenkinsSmiHash.combine(hash, potentialEdits.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getStatementCompletion params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetStatementCompletionParams implements RequestParams { String _file; int _offset; /// The file containing the statement to be completed. String get file => _file; /// The file containing the statement to be completed. set file(String value) { assert(value != null); _file = value; } /// The offset used to identify the statement to be completed. int get offset => _offset; /// The offset used to identify the statement to be completed. set offset(int value) { assert(value != null); _offset = value; } EditGetStatementCompletionParams(String file, int offset) { this.file = file; this.offset = offset; } factory EditGetStatementCompletionParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return EditGetStatementCompletionParams(file, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getStatementCompletion params', json); } } factory EditGetStatementCompletionParams.fromRequest(Request request) { return EditGetStatementCompletionParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'edit.getStatementCompletion', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetStatementCompletionParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.getStatementCompletion result /// /// { /// "change": SourceChange /// "whitespaceOnly": bool /// } /// /// Clients may not extend, implement or mix-in this class. class EditGetStatementCompletionResult implements ResponseResult { SourceChange _change; bool _whitespaceOnly; /// The change to be applied in order to complete the statement. SourceChange get change => _change; /// The change to be applied in order to complete the statement. set change(SourceChange value) { assert(value != null); _change = value; } /// Will be true if the change contains nothing but whitespace characters, or /// is empty. bool get whitespaceOnly => _whitespaceOnly; /// Will be true if the change contains nothing but whitespace characters, or /// is empty. set whitespaceOnly(bool value) { assert(value != null); _whitespaceOnly = value; } EditGetStatementCompletionResult(SourceChange change, bool whitespaceOnly) { this.change = change; this.whitespaceOnly = whitespaceOnly; } factory EditGetStatementCompletionResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceChange change; if (json.containsKey('change')) { change = SourceChange.fromJson( jsonDecoder, jsonPath + '.change', json['change']); } else { throw jsonDecoder.mismatch(jsonPath, 'change'); } bool whitespaceOnly; if (json.containsKey('whitespaceOnly')) { whitespaceOnly = jsonDecoder.decodeBool( jsonPath + '.whitespaceOnly', json['whitespaceOnly']); } else { throw jsonDecoder.mismatch(jsonPath, 'whitespaceOnly'); } return EditGetStatementCompletionResult(change, whitespaceOnly); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.getStatementCompletion result', json); } } factory EditGetStatementCompletionResult.fromResponse(Response response) { return EditGetStatementCompletionResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['change'] = change.toJson(); result['whitespaceOnly'] = whitespaceOnly; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditGetStatementCompletionResult) { return change == other.change && whitespaceOnly == other.whitespaceOnly; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, change.hashCode); hash = JenkinsSmiHash.combine(hash, whitespaceOnly.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.importElements params /// /// { /// "file": FilePath /// "elements": List /// "offset": optional int /// } /// /// Clients may not extend, implement or mix-in this class. class EditImportElementsParams implements RequestParams { String _file; List _elements; int _offset; /// The file in which the specified elements are to be made accessible. String get file => _file; /// The file in which the specified elements are to be made accessible. set file(String value) { assert(value != null); _file = value; } /// The elements to be made accessible in the specified file. List get elements => _elements; /// The elements to be made accessible in the specified file. set elements(List value) { assert(value != null); _elements = value; } /// The offset at which the specified elements need to be made accessible. If /// provided, this is used to guard against adding imports for text that /// would be inserted into a comment, string literal, or other location where /// the imports would not be necessary. int get offset => _offset; /// The offset at which the specified elements need to be made accessible. If /// provided, this is used to guard against adding imports for text that /// would be inserted into a comment, string literal, or other location where /// the imports would not be necessary. set offset(int value) { _offset = value; } EditImportElementsParams(String file, List elements, {int offset}) { this.file = file; this.elements = elements; this.offset = offset; } factory EditImportElementsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } List elements; if (json.containsKey('elements')) { elements = jsonDecoder.decodeList( jsonPath + '.elements', json['elements'], (String jsonPath, Object json) => ImportedElements.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'elements'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } return EditImportElementsParams(file, elements, offset: offset); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.importElements params', json); } } factory EditImportElementsParams.fromRequest(Request request) { return EditImportElementsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['elements'] = elements.map((ImportedElements value) => value.toJson()).toList(); if (offset != null) { result['offset'] = offset; } return result; } @override Request toRequest(String id) { return Request(id, 'edit.importElements', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditImportElementsParams) { return file == other.file && listEqual(elements, other.elements, (ImportedElements a, ImportedElements b) => a == b) && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, elements.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.importElements result /// /// { /// "edit": optional SourceFileEdit /// } /// /// Clients may not extend, implement or mix-in this class. class EditImportElementsResult implements ResponseResult { SourceFileEdit _edit; /// The edits to be applied in order to make the specified elements /// accessible. The file to be edited will be the defining compilation unit /// of the library containing the file specified in the request, which can be /// different than the file specified in the request if the specified file is /// a part file. This field will be omitted if there are no edits that need /// to be applied. SourceFileEdit get edit => _edit; /// The edits to be applied in order to make the specified elements /// accessible. The file to be edited will be the defining compilation unit /// of the library containing the file specified in the request, which can be /// different than the file specified in the request if the specified file is /// a part file. This field will be omitted if there are no edits that need /// to be applied. set edit(SourceFileEdit value) { _edit = value; } EditImportElementsResult({SourceFileEdit edit}) { this.edit = edit; } factory EditImportElementsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceFileEdit edit; if (json.containsKey('edit')) { edit = SourceFileEdit.fromJson( jsonDecoder, jsonPath + '.edit', json['edit']); } return EditImportElementsResult(edit: edit); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.importElements result', json); } } factory EditImportElementsResult.fromResponse(Response response) { return EditImportElementsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; if (edit != null) { result['edit'] = edit.toJson(); } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditImportElementsResult) { return edit == other.edit; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, edit.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.isPostfixCompletionApplicable params /// /// { /// "file": FilePath /// "key": String /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class EditIsPostfixCompletionApplicableParams implements RequestParams { String _file; String _key; int _offset; /// The file containing the postfix template to be expanded. String get file => _file; /// The file containing the postfix template to be expanded. set file(String value) { assert(value != null); _file = value; } /// The unique name that identifies the template in use. String get key => _key; /// The unique name that identifies the template in use. set key(String value) { assert(value != null); _key = value; } /// The offset used to identify the code to which the template will be /// applied. int get offset => _offset; /// The offset used to identify the code to which the template will be /// applied. set offset(int value) { assert(value != null); _offset = value; } EditIsPostfixCompletionApplicableParams(String file, String key, int offset) { this.file = file; this.key = key; this.offset = offset; } factory EditIsPostfixCompletionApplicableParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } String key; if (json.containsKey('key')) { key = jsonDecoder.decodeString(jsonPath + '.key', json['key']); } else { throw jsonDecoder.mismatch(jsonPath, 'key'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return EditIsPostfixCompletionApplicableParams(file, key, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.isPostfixCompletionApplicable params', json); } } factory EditIsPostfixCompletionApplicableParams.fromRequest(Request request) { return EditIsPostfixCompletionApplicableParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['key'] = key; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'edit.isPostfixCompletionApplicable', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditIsPostfixCompletionApplicableParams) { return file == other.file && key == other.key && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, key.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.isPostfixCompletionApplicable result /// /// { /// "value": bool /// } /// /// Clients may not extend, implement or mix-in this class. class EditIsPostfixCompletionApplicableResult implements ResponseResult { bool _value; /// True if the template can be expanded at the given location. bool get value => _value; /// True if the template can be expanded at the given location. set value(bool value) { assert(value != null); _value = value; } EditIsPostfixCompletionApplicableResult(bool value) { this.value = value; } factory EditIsPostfixCompletionApplicableResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool value; if (json.containsKey('value')) { value = jsonDecoder.decodeBool(jsonPath + '.value', json['value']); } else { throw jsonDecoder.mismatch(jsonPath, 'value'); } return EditIsPostfixCompletionApplicableResult(value); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.isPostfixCompletionApplicable result', json); } } factory EditIsPostfixCompletionApplicableResult.fromResponse( Response response) { return EditIsPostfixCompletionApplicableResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['value'] = value; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditIsPostfixCompletionApplicableResult) { return value == other.value; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, value.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.listPostfixCompletionTemplates params /// /// Clients may not extend, implement or mix-in this class. class EditListPostfixCompletionTemplatesParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'edit.listPostfixCompletionTemplates', null); } @override bool operator ==(other) { if (other is EditListPostfixCompletionTemplatesParams) { return true; } return false; } @override int get hashCode { return 690713107; } } /// edit.listPostfixCompletionTemplates result /// /// { /// "templates": List /// } /// /// Clients may not extend, implement or mix-in this class. class EditListPostfixCompletionTemplatesResult implements ResponseResult { List _templates; /// The list of available templates. List get templates => _templates; /// The list of available templates. set templates(List value) { assert(value != null); _templates = value; } EditListPostfixCompletionTemplatesResult( List templates) { this.templates = templates; } factory EditListPostfixCompletionTemplatesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List templates; if (json.containsKey('templates')) { templates = jsonDecoder.decodeList( jsonPath + '.templates', json['templates'], (String jsonPath, Object json) => PostfixTemplateDescriptor.fromJson( jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'templates'); } return EditListPostfixCompletionTemplatesResult(templates); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.listPostfixCompletionTemplates result', json); } } factory EditListPostfixCompletionTemplatesResult.fromResponse( Response response) { return EditListPostfixCompletionTemplatesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['templates'] = templates .map((PostfixTemplateDescriptor value) => value.toJson()) .toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditListPostfixCompletionTemplatesResult) { return listEqual(templates, other.templates, (PostfixTemplateDescriptor a, PostfixTemplateDescriptor b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, templates.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.organizeDirectives params /// /// { /// "file": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class EditOrganizeDirectivesParams implements RequestParams { String _file; /// The Dart file to organize directives in. String get file => _file; /// The Dart file to organize directives in. set file(String value) { assert(value != null); _file = value; } EditOrganizeDirectivesParams(String file) { this.file = file; } factory EditOrganizeDirectivesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } return EditOrganizeDirectivesParams(file); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.organizeDirectives params', json); } } factory EditOrganizeDirectivesParams.fromRequest(Request request) { return EditOrganizeDirectivesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; return result; } @override Request toRequest(String id) { return Request(id, 'edit.organizeDirectives', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditOrganizeDirectivesParams) { return file == other.file; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.organizeDirectives result /// /// { /// "edit": SourceFileEdit /// } /// /// Clients may not extend, implement or mix-in this class. class EditOrganizeDirectivesResult implements ResponseResult { SourceFileEdit _edit; /// The file edit that is to be applied to the given file to effect the /// organizing. SourceFileEdit get edit => _edit; /// The file edit that is to be applied to the given file to effect the /// organizing. set edit(SourceFileEdit value) { assert(value != null); _edit = value; } EditOrganizeDirectivesResult(SourceFileEdit edit) { this.edit = edit; } factory EditOrganizeDirectivesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceFileEdit edit; if (json.containsKey('edit')) { edit = SourceFileEdit.fromJson( jsonDecoder, jsonPath + '.edit', json['edit']); } else { throw jsonDecoder.mismatch(jsonPath, 'edit'); } return EditOrganizeDirectivesResult(edit); } else { throw jsonDecoder.mismatch( jsonPath, 'edit.organizeDirectives result', json); } } factory EditOrganizeDirectivesResult.fromResponse(Response response) { return EditOrganizeDirectivesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['edit'] = edit.toJson(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditOrganizeDirectivesResult) { return edit == other.edit; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, edit.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.sortMembers params /// /// { /// "file": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class EditSortMembersParams implements RequestParams { String _file; /// The Dart file to sort. String get file => _file; /// The Dart file to sort. set file(String value) { assert(value != null); _file = value; } EditSortMembersParams(String file) { this.file = file; } factory EditSortMembersParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } return EditSortMembersParams(file); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.sortMembers params', json); } } factory EditSortMembersParams.fromRequest(Request request) { return EditSortMembersParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; return result; } @override Request toRequest(String id) { return Request(id, 'edit.sortMembers', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditSortMembersParams) { return file == other.file; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); return JenkinsSmiHash.finish(hash); } } /// edit.sortMembers result /// /// { /// "edit": SourceFileEdit /// } /// /// Clients may not extend, implement or mix-in this class. class EditSortMembersResult implements ResponseResult { SourceFileEdit _edit; /// The file edit that is to be applied to the given file to effect the /// sorting. SourceFileEdit get edit => _edit; /// The file edit that is to be applied to the given file to effect the /// sorting. set edit(SourceFileEdit value) { assert(value != null); _edit = value; } EditSortMembersResult(SourceFileEdit edit) { this.edit = edit; } factory EditSortMembersResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceFileEdit edit; if (json.containsKey('edit')) { edit = SourceFileEdit.fromJson( jsonDecoder, jsonPath + '.edit', json['edit']); } else { throw jsonDecoder.mismatch(jsonPath, 'edit'); } return EditSortMembersResult(edit); } else { throw jsonDecoder.mismatch(jsonPath, 'edit.sortMembers result', json); } } factory EditSortMembersResult.fromResponse(Response response) { return EditSortMembersResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['edit'] = edit.toJson(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is EditSortMembersResult) { return edit == other.edit; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, edit.hashCode); return JenkinsSmiHash.finish(hash); } } /// ElementDeclaration /// /// { /// "name": String /// "kind": ElementKind /// "fileIndex": int /// "offset": int /// "line": int /// "column": int /// "codeOffset": int /// "codeLength": int /// "className": optional String /// "mixinName": optional String /// "parameters": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class ElementDeclaration implements HasToJson { String _name; ElementKind _kind; int _fileIndex; int _offset; int _line; int _column; int _codeOffset; int _codeLength; String _className; String _mixinName; String _parameters; /// The name of the declaration. String get name => _name; /// The name of the declaration. set name(String value) { assert(value != null); _name = value; } /// The kind of the element that corresponds to the declaration. ElementKind get kind => _kind; /// The kind of the element that corresponds to the declaration. set kind(ElementKind value) { assert(value != null); _kind = value; } /// The index of the file (in the enclosing response). int get fileIndex => _fileIndex; /// The index of the file (in the enclosing response). set fileIndex(int value) { assert(value != null); _fileIndex = value; } /// The offset of the declaration name in the file. int get offset => _offset; /// The offset of the declaration name in the file. set offset(int value) { assert(value != null); _offset = value; } /// The one-based index of the line containing the declaration name. int get line => _line; /// The one-based index of the line containing the declaration name. set line(int value) { assert(value != null); _line = value; } /// The one-based index of the column containing the declaration name. int get column => _column; /// The one-based index of the column containing the declaration name. set column(int value) { assert(value != null); _column = value; } /// The offset of the first character of the declaration code in the file. int get codeOffset => _codeOffset; /// The offset of the first character of the declaration code in the file. set codeOffset(int value) { assert(value != null); _codeOffset = value; } /// The length of the declaration code in the file. int get codeLength => _codeLength; /// The length of the declaration code in the file. set codeLength(int value) { assert(value != null); _codeLength = value; } /// The name of the class enclosing this declaration. If the declaration is /// not a class member, this field will be absent. String get className => _className; /// The name of the class enclosing this declaration. If the declaration is /// not a class member, this field will be absent. set className(String value) { _className = value; } /// The name of the mixin enclosing this declaration. If the declaration is /// not a mixin member, this field will be absent. String get mixinName => _mixinName; /// The name of the mixin enclosing this declaration. If the declaration is /// not a mixin member, this field will be absent. set mixinName(String value) { _mixinName = value; } /// The parameter list for the element. If the element is not a method or /// function this field will not be defined. If the element doesn't have /// parameters (e.g. getter), this field will not be defined. If the element /// has zero parameters, this field will have a value of "()". The value /// should not be treated as exact presentation of parameters, it is just /// approximation of parameters to give the user general idea. String get parameters => _parameters; /// The parameter list for the element. If the element is not a method or /// function this field will not be defined. If the element doesn't have /// parameters (e.g. getter), this field will not be defined. If the element /// has zero parameters, this field will have a value of "()". The value /// should not be treated as exact presentation of parameters, it is just /// approximation of parameters to give the user general idea. set parameters(String value) { _parameters = value; } ElementDeclaration(String name, ElementKind kind, int fileIndex, int offset, int line, int column, int codeOffset, int codeLength, {String className, String mixinName, String parameters}) { this.name = name; this.kind = kind; this.fileIndex = fileIndex; this.offset = offset; this.line = line; this.column = column; this.codeOffset = codeOffset; this.codeLength = codeLength; this.className = className; this.mixinName = mixinName; this.parameters = parameters; } factory ElementDeclaration.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } ElementKind kind; if (json.containsKey('kind')) { kind = ElementKind.fromJson(jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } int fileIndex; if (json.containsKey('fileIndex')) { fileIndex = jsonDecoder.decodeInt(jsonPath + '.fileIndex', json['fileIndex']); } else { throw jsonDecoder.mismatch(jsonPath, 'fileIndex'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int line; if (json.containsKey('line')) { line = jsonDecoder.decodeInt(jsonPath + '.line', json['line']); } else { throw jsonDecoder.mismatch(jsonPath, 'line'); } int column; if (json.containsKey('column')) { column = jsonDecoder.decodeInt(jsonPath + '.column', json['column']); } else { throw jsonDecoder.mismatch(jsonPath, 'column'); } int codeOffset; if (json.containsKey('codeOffset')) { codeOffset = jsonDecoder.decodeInt(jsonPath + '.codeOffset', json['codeOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'codeOffset'); } int codeLength; if (json.containsKey('codeLength')) { codeLength = jsonDecoder.decodeInt(jsonPath + '.codeLength', json['codeLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'codeLength'); } String className; if (json.containsKey('className')) { className = jsonDecoder.decodeString( jsonPath + '.className', json['className']); } String mixinName; if (json.containsKey('mixinName')) { mixinName = jsonDecoder.decodeString( jsonPath + '.mixinName', json['mixinName']); } String parameters; if (json.containsKey('parameters')) { parameters = jsonDecoder.decodeString( jsonPath + '.parameters', json['parameters']); } return ElementDeclaration( name, kind, fileIndex, offset, line, column, codeOffset, codeLength, className: className, mixinName: mixinName, parameters: parameters); } else { throw jsonDecoder.mismatch(jsonPath, 'ElementDeclaration', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['kind'] = kind.toJson(); result['fileIndex'] = fileIndex; result['offset'] = offset; result['line'] = line; result['column'] = column; result['codeOffset'] = codeOffset; result['codeLength'] = codeLength; if (className != null) { result['className'] = className; } if (mixinName != null) { result['mixinName'] = mixinName; } if (parameters != null) { result['parameters'] = parameters; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ElementDeclaration) { return name == other.name && kind == other.kind && fileIndex == other.fileIndex && offset == other.offset && line == other.line && column == other.column && codeOffset == other.codeOffset && codeLength == other.codeLength && className == other.className && mixinName == other.mixinName && parameters == other.parameters; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, fileIndex.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, line.hashCode); hash = JenkinsSmiHash.combine(hash, column.hashCode); hash = JenkinsSmiHash.combine(hash, codeOffset.hashCode); hash = JenkinsSmiHash.combine(hash, codeLength.hashCode); hash = JenkinsSmiHash.combine(hash, className.hashCode); hash = JenkinsSmiHash.combine(hash, mixinName.hashCode); hash = JenkinsSmiHash.combine(hash, parameters.hashCode); return JenkinsSmiHash.finish(hash); } } /// ExecutableFile /// /// { /// "file": FilePath /// "kind": ExecutableKind /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutableFile implements HasToJson { String _file; ExecutableKind _kind; /// The path of the executable file. String get file => _file; /// The path of the executable file. set file(String value) { assert(value != null); _file = value; } /// The kind of the executable file. ExecutableKind get kind => _kind; /// The kind of the executable file. set kind(ExecutableKind value) { assert(value != null); _kind = value; } ExecutableFile(String file, ExecutableKind kind) { this.file = file; this.kind = kind; } factory ExecutableFile.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } ExecutableKind kind; if (json.containsKey('kind')) { kind = ExecutableKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } return ExecutableFile(file, kind); } else { throw jsonDecoder.mismatch(jsonPath, 'ExecutableFile', json); } } @override Map toJson() { var result = {}; result['file'] = file; result['kind'] = kind.toJson(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutableFile) { return file == other.file && kind == other.kind; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); return JenkinsSmiHash.finish(hash); } } /// ExecutableKind /// /// enum { /// CLIENT /// EITHER /// NOT_EXECUTABLE /// SERVER /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutableKind implements Enum { static const ExecutableKind CLIENT = ExecutableKind._('CLIENT'); static const ExecutableKind EITHER = ExecutableKind._('EITHER'); static const ExecutableKind NOT_EXECUTABLE = ExecutableKind._('NOT_EXECUTABLE'); static const ExecutableKind SERVER = ExecutableKind._('SERVER'); /// A list containing all of the enum values that are defined. static const List VALUES = [ CLIENT, EITHER, NOT_EXECUTABLE, SERVER ]; @override final String name; const ExecutableKind._(this.name); factory ExecutableKind(String name) { switch (name) { case 'CLIENT': return CLIENT; case 'EITHER': return EITHER; case 'NOT_EXECUTABLE': return NOT_EXECUTABLE; case 'SERVER': return SERVER; } throw Exception('Illegal enum value: $name'); } factory ExecutableKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return ExecutableKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'ExecutableKind', json); } @override String toString() => 'ExecutableKind.$name'; String toJson() => name; } /// execution.createContext params /// /// { /// "contextRoot": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionCreateContextParams implements RequestParams { String _contextRoot; /// The path of the Dart or HTML file that will be launched, or the path of /// the directory containing the file. String get contextRoot => _contextRoot; /// The path of the Dart or HTML file that will be launched, or the path of /// the directory containing the file. set contextRoot(String value) { assert(value != null); _contextRoot = value; } ExecutionCreateContextParams(String contextRoot) { this.contextRoot = contextRoot; } factory ExecutionCreateContextParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String contextRoot; if (json.containsKey('contextRoot')) { contextRoot = jsonDecoder.decodeString( jsonPath + '.contextRoot', json['contextRoot']); } else { throw jsonDecoder.mismatch(jsonPath, 'contextRoot'); } return ExecutionCreateContextParams(contextRoot); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.createContext params', json); } } factory ExecutionCreateContextParams.fromRequest(Request request) { return ExecutionCreateContextParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['contextRoot'] = contextRoot; return result; } @override Request toRequest(String id) { return Request(id, 'execution.createContext', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionCreateContextParams) { return contextRoot == other.contextRoot; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, contextRoot.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.createContext result /// /// { /// "id": ExecutionContextId /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionCreateContextResult implements ResponseResult { String _id; /// The identifier used to refer to the execution context that was created. String get id => _id; /// The identifier used to refer to the execution context that was created. set id(String value) { assert(value != null); _id = value; } ExecutionCreateContextResult(String id) { this.id = id; } factory ExecutionCreateContextResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return ExecutionCreateContextResult(id); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.createContext result', json); } } factory ExecutionCreateContextResult.fromResponse(Response response) { return ExecutionCreateContextResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionCreateContextResult) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.deleteContext params /// /// { /// "id": ExecutionContextId /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionDeleteContextParams implements RequestParams { String _id; /// The identifier of the execution context that is to be deleted. String get id => _id; /// The identifier of the execution context that is to be deleted. set id(String value) { assert(value != null); _id = value; } ExecutionDeleteContextParams(String id) { this.id = id; } factory ExecutionDeleteContextParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return ExecutionDeleteContextParams(id); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.deleteContext params', json); } } factory ExecutionDeleteContextParams.fromRequest(Request request) { return ExecutionDeleteContextParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Request toRequest(String id) { return Request(id, 'execution.deleteContext', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionDeleteContextParams) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.deleteContext result /// /// Clients may not extend, implement or mix-in this class. class ExecutionDeleteContextResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is ExecutionDeleteContextResult) { return true; } return false; } @override int get hashCode { return 479954425; } } /// execution.getSuggestions params /// /// { /// "code": String /// "offset": int /// "contextFile": FilePath /// "contextOffset": int /// "variables": List /// "expressions": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionGetSuggestionsParams implements RequestParams { String _code; int _offset; String _contextFile; int _contextOffset; List _variables; List _expressions; /// The code to get suggestions in. String get code => _code; /// The code to get suggestions in. set code(String value) { assert(value != null); _code = value; } /// The offset within the code to get suggestions at. int get offset => _offset; /// The offset within the code to get suggestions at. set offset(int value) { assert(value != null); _offset = value; } /// The path of the context file, e.g. the file of the current debugger /// frame. The combination of the context file and context offset can be used /// to ensure that all variables of the context are available for completion /// (with their static types). String get contextFile => _contextFile; /// The path of the context file, e.g. the file of the current debugger /// frame. The combination of the context file and context offset can be used /// to ensure that all variables of the context are available for completion /// (with their static types). set contextFile(String value) { assert(value != null); _contextFile = value; } /// The offset in the context file, e.g. the line offset in the current /// debugger frame. int get contextOffset => _contextOffset; /// The offset in the context file, e.g. the line offset in the current /// debugger frame. set contextOffset(int value) { assert(value != null); _contextOffset = value; } /// The runtime context variables that are potentially referenced in the /// code. List get variables => _variables; /// The runtime context variables that are potentially referenced in the /// code. set variables(List value) { assert(value != null); _variables = value; } /// The list of sub-expressions in the code for which the client wants to /// provide runtime types. It does not have to be the full list of /// expressions requested by the server, for missing expressions their static /// types will be used. /// /// When this field is omitted, the server will return completion suggestions /// only when there are no interesting sub-expressions in the given code. The /// client may provide an empty list, in this case the server will return /// completion suggestions. List get expressions => _expressions; /// The list of sub-expressions in the code for which the client wants to /// provide runtime types. It does not have to be the full list of /// expressions requested by the server, for missing expressions their static /// types will be used. /// /// When this field is omitted, the server will return completion suggestions /// only when there are no interesting sub-expressions in the given code. The /// client may provide an empty list, in this case the server will return /// completion suggestions. set expressions(List value) { _expressions = value; } ExecutionGetSuggestionsParams(String code, int offset, String contextFile, int contextOffset, List variables, {List expressions}) { this.code = code; this.offset = offset; this.contextFile = contextFile; this.contextOffset = contextOffset; this.variables = variables; this.expressions = expressions; } factory ExecutionGetSuggestionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String code; if (json.containsKey('code')) { code = jsonDecoder.decodeString(jsonPath + '.code', json['code']); } else { throw jsonDecoder.mismatch(jsonPath, 'code'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } String contextFile; if (json.containsKey('contextFile')) { contextFile = jsonDecoder.decodeString( jsonPath + '.contextFile', json['contextFile']); } else { throw jsonDecoder.mismatch(jsonPath, 'contextFile'); } int contextOffset; if (json.containsKey('contextOffset')) { contextOffset = jsonDecoder.decodeInt( jsonPath + '.contextOffset', json['contextOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'contextOffset'); } List variables; if (json.containsKey('variables')) { variables = jsonDecoder.decodeList( jsonPath + '.variables', json['variables'], (String jsonPath, Object json) => RuntimeCompletionVariable.fromJson( jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'variables'); } List expressions; if (json.containsKey('expressions')) { expressions = jsonDecoder.decodeList( jsonPath + '.expressions', json['expressions'], (String jsonPath, Object json) => RuntimeCompletionExpression.fromJson( jsonDecoder, jsonPath, json)); } return ExecutionGetSuggestionsParams( code, offset, contextFile, contextOffset, variables, expressions: expressions); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.getSuggestions params', json); } } factory ExecutionGetSuggestionsParams.fromRequest(Request request) { return ExecutionGetSuggestionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['code'] = code; result['offset'] = offset; result['contextFile'] = contextFile; result['contextOffset'] = contextOffset; result['variables'] = variables .map((RuntimeCompletionVariable value) => value.toJson()) .toList(); if (expressions != null) { result['expressions'] = expressions .map((RuntimeCompletionExpression value) => value.toJson()) .toList(); } return result; } @override Request toRequest(String id) { return Request(id, 'execution.getSuggestions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionGetSuggestionsParams) { return code == other.code && offset == other.offset && contextFile == other.contextFile && contextOffset == other.contextOffset && listEqual( variables, other.variables, (RuntimeCompletionVariable a, RuntimeCompletionVariable b) => a == b) && listEqual( expressions, other.expressions, (RuntimeCompletionExpression a, RuntimeCompletionExpression b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, code.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, contextFile.hashCode); hash = JenkinsSmiHash.combine(hash, contextOffset.hashCode); hash = JenkinsSmiHash.combine(hash, variables.hashCode); hash = JenkinsSmiHash.combine(hash, expressions.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.getSuggestions result /// /// { /// "suggestions": optional List /// "expressions": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionGetSuggestionsResult implements ResponseResult { List _suggestions; List _expressions; /// The completion suggestions. In contrast to usual completion request, /// suggestions for private elements also will be provided. /// /// If there are sub-expressions that can have different runtime types, and /// are considered to be safe to evaluate at runtime (e.g. getters), so using /// their actual runtime types can improve completion results, the server /// omits this field in the response, and instead will return the /// "expressions" field. List get suggestions => _suggestions; /// The completion suggestions. In contrast to usual completion request, /// suggestions for private elements also will be provided. /// /// If there are sub-expressions that can have different runtime types, and /// are considered to be safe to evaluate at runtime (e.g. getters), so using /// their actual runtime types can improve completion results, the server /// omits this field in the response, and instead will return the /// "expressions" field. set suggestions(List value) { _suggestions = value; } /// The list of sub-expressions in the code for which the server would like /// to know runtime types to provide better completion suggestions. /// /// This field is omitted the field "suggestions" is returned. List get expressions => _expressions; /// The list of sub-expressions in the code for which the server would like /// to know runtime types to provide better completion suggestions. /// /// This field is omitted the field "suggestions" is returned. set expressions(List value) { _expressions = value; } ExecutionGetSuggestionsResult( {List suggestions, List expressions}) { this.suggestions = suggestions; this.expressions = expressions; } factory ExecutionGetSuggestionsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List suggestions; if (json.containsKey('suggestions')) { suggestions = jsonDecoder.decodeList( jsonPath + '.suggestions', json['suggestions'], (String jsonPath, Object json) => CompletionSuggestion.fromJson(jsonDecoder, jsonPath, json)); } List expressions; if (json.containsKey('expressions')) { expressions = jsonDecoder.decodeList( jsonPath + '.expressions', json['expressions'], (String jsonPath, Object json) => RuntimeCompletionExpression.fromJson( jsonDecoder, jsonPath, json)); } return ExecutionGetSuggestionsResult( suggestions: suggestions, expressions: expressions); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.getSuggestions result', json); } } factory ExecutionGetSuggestionsResult.fromResponse(Response response) { return ExecutionGetSuggestionsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; if (suggestions != null) { result['suggestions'] = suggestions .map((CompletionSuggestion value) => value.toJson()) .toList(); } if (expressions != null) { result['expressions'] = expressions .map((RuntimeCompletionExpression value) => value.toJson()) .toList(); } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionGetSuggestionsResult) { return listEqual(suggestions, other.suggestions, (CompletionSuggestion a, CompletionSuggestion b) => a == b) && listEqual( expressions, other.expressions, (RuntimeCompletionExpression a, RuntimeCompletionExpression b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, suggestions.hashCode); hash = JenkinsSmiHash.combine(hash, expressions.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.launchData params /// /// { /// "file": FilePath /// "kind": optional ExecutableKind /// "referencedFiles": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionLaunchDataParams implements HasToJson { String _file; ExecutableKind _kind; List _referencedFiles; /// The file for which launch data is being provided. This will either be a /// Dart library or an HTML file. String get file => _file; /// The file for which launch data is being provided. This will either be a /// Dart library or an HTML file. set file(String value) { assert(value != null); _file = value; } /// The kind of the executable file. This field is omitted if the file is not /// a Dart file. ExecutableKind get kind => _kind; /// The kind of the executable file. This field is omitted if the file is not /// a Dart file. set kind(ExecutableKind value) { _kind = value; } /// A list of the Dart files that are referenced by the file. This field is /// omitted if the file is not an HTML file. List get referencedFiles => _referencedFiles; /// A list of the Dart files that are referenced by the file. This field is /// omitted if the file is not an HTML file. set referencedFiles(List value) { _referencedFiles = value; } ExecutionLaunchDataParams(String file, {ExecutableKind kind, List referencedFiles}) { this.file = file; this.kind = kind; this.referencedFiles = referencedFiles; } factory ExecutionLaunchDataParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } ExecutableKind kind; if (json.containsKey('kind')) { kind = ExecutableKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } List referencedFiles; if (json.containsKey('referencedFiles')) { referencedFiles = jsonDecoder.decodeList(jsonPath + '.referencedFiles', json['referencedFiles'], jsonDecoder.decodeString); } return ExecutionLaunchDataParams(file, kind: kind, referencedFiles: referencedFiles); } else { throw jsonDecoder.mismatch(jsonPath, 'execution.launchData params', json); } } factory ExecutionLaunchDataParams.fromNotification( Notification notification) { return ExecutionLaunchDataParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; if (kind != null) { result['kind'] = kind.toJson(); } if (referencedFiles != null) { result['referencedFiles'] = referencedFiles; } return result; } Notification toNotification() { return Notification('execution.launchData', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionLaunchDataParams) { return file == other.file && kind == other.kind && listEqual(referencedFiles, other.referencedFiles, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, referencedFiles.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.mapUri params /// /// { /// "id": ExecutionContextId /// "file": optional FilePath /// "uri": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionMapUriParams implements RequestParams { String _id; String _file; String _uri; /// The identifier of the execution context in which the URI is to be mapped. String get id => _id; /// The identifier of the execution context in which the URI is to be mapped. set id(String value) { assert(value != null); _id = value; } /// The path of the file to be mapped into a URI. String get file => _file; /// The path of the file to be mapped into a URI. set file(String value) { _file = value; } /// The URI to be mapped into a file path. String get uri => _uri; /// The URI to be mapped into a file path. set uri(String value) { _uri = value; } ExecutionMapUriParams(String id, {String file, String uri}) { this.id = id; this.file = file; this.uri = uri; } factory ExecutionMapUriParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } String uri; if (json.containsKey('uri')) { uri = jsonDecoder.decodeString(jsonPath + '.uri', json['uri']); } return ExecutionMapUriParams(id, file: file, uri: uri); } else { throw jsonDecoder.mismatch(jsonPath, 'execution.mapUri params', json); } } factory ExecutionMapUriParams.fromRequest(Request request) { return ExecutionMapUriParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['id'] = id; if (file != null) { result['file'] = file; } if (uri != null) { result['uri'] = uri; } return result; } @override Request toRequest(String id) { return Request(id, 'execution.mapUri', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionMapUriParams) { return id == other.id && file == other.file && uri == other.uri; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, uri.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.mapUri result /// /// { /// "file": optional FilePath /// "uri": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionMapUriResult implements ResponseResult { String _file; String _uri; /// The file to which the URI was mapped. This field is omitted if the uri /// field was not given in the request. String get file => _file; /// The file to which the URI was mapped. This field is omitted if the uri /// field was not given in the request. set file(String value) { _file = value; } /// The URI to which the file path was mapped. This field is omitted if the /// file field was not given in the request. String get uri => _uri; /// The URI to which the file path was mapped. This field is omitted if the /// file field was not given in the request. set uri(String value) { _uri = value; } ExecutionMapUriResult({String file, String uri}) { this.file = file; this.uri = uri; } factory ExecutionMapUriResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } String uri; if (json.containsKey('uri')) { uri = jsonDecoder.decodeString(jsonPath + '.uri', json['uri']); } return ExecutionMapUriResult(file: file, uri: uri); } else { throw jsonDecoder.mismatch(jsonPath, 'execution.mapUri result', json); } } factory ExecutionMapUriResult.fromResponse(Response response) { return ExecutionMapUriResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; if (file != null) { result['file'] = file; } if (uri != null) { result['uri'] = uri; } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionMapUriResult) { return file == other.file && uri == other.uri; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, uri.hashCode); return JenkinsSmiHash.finish(hash); } } /// ExecutionService /// /// enum { /// LAUNCH_DATA /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionService implements Enum { static const ExecutionService LAUNCH_DATA = ExecutionService._('LAUNCH_DATA'); /// A list containing all of the enum values that are defined. static const List VALUES = [LAUNCH_DATA]; @override final String name; const ExecutionService._(this.name); factory ExecutionService(String name) { switch (name) { case 'LAUNCH_DATA': return LAUNCH_DATA; } throw Exception('Illegal enum value: $name'); } factory ExecutionService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return ExecutionService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'ExecutionService', json); } @override String toString() => 'ExecutionService.$name'; String toJson() => name; } /// execution.setSubscriptions params /// /// { /// "subscriptions": List /// } /// /// Clients may not extend, implement or mix-in this class. class ExecutionSetSubscriptionsParams implements RequestParams { List _subscriptions; /// A list of the services being subscribed to. List get subscriptions => _subscriptions; /// A list of the services being subscribed to. set subscriptions(List value) { assert(value != null); _subscriptions = value; } ExecutionSetSubscriptionsParams(List subscriptions) { this.subscriptions = subscriptions; } factory ExecutionSetSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeList( jsonPath + '.subscriptions', json['subscriptions'], (String jsonPath, Object json) => ExecutionService.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return ExecutionSetSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'execution.setSubscriptions params', json); } } factory ExecutionSetSubscriptionsParams.fromRequest(Request request) { return ExecutionSetSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = subscriptions.map((ExecutionService value) => value.toJson()).toList(); return result; } @override Request toRequest(String id) { return Request(id, 'execution.setSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExecutionSetSubscriptionsParams) { return listEqual(subscriptions, other.subscriptions, (ExecutionService a, ExecutionService b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// execution.setSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class ExecutionSetSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is ExecutionSetSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 287678780; } } /// ExistingImport /// /// { /// "uri": int /// "elements": List /// } /// /// Clients may not extend, implement or mix-in this class. class ExistingImport implements HasToJson { int _uri; List _elements; /// The URI of the imported library. It is an index in the strings field, in /// the enclosing ExistingImports and its ImportedElementSet object. int get uri => _uri; /// The URI of the imported library. It is an index in the strings field, in /// the enclosing ExistingImports and its ImportedElementSet object. set uri(int value) { assert(value != null); _uri = value; } /// The list of indexes of elements, in the enclosing ExistingImports object. List get elements => _elements; /// The list of indexes of elements, in the enclosing ExistingImports object. set elements(List value) { assert(value != null); _elements = value; } ExistingImport(int uri, List elements) { this.uri = uri; this.elements = elements; } factory ExistingImport.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int uri; if (json.containsKey('uri')) { uri = jsonDecoder.decodeInt(jsonPath + '.uri', json['uri']); } else { throw jsonDecoder.mismatch(jsonPath, 'uri'); } List elements; if (json.containsKey('elements')) { elements = jsonDecoder.decodeList( jsonPath + '.elements', json['elements'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'elements'); } return ExistingImport(uri, elements); } else { throw jsonDecoder.mismatch(jsonPath, 'ExistingImport', json); } } @override Map toJson() { var result = {}; result['uri'] = uri; result['elements'] = elements; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExistingImport) { return uri == other.uri && listEqual(elements, other.elements, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, uri.hashCode); hash = JenkinsSmiHash.combine(hash, elements.hashCode); return JenkinsSmiHash.finish(hash); } } /// ExistingImports /// /// { /// "elements": ImportedElementSet /// "imports": List /// } /// /// Clients may not extend, implement or mix-in this class. class ExistingImports implements HasToJson { ImportedElementSet _elements; List _imports; /// The set of all unique imported elements for all imports. ImportedElementSet get elements => _elements; /// The set of all unique imported elements for all imports. set elements(ImportedElementSet value) { assert(value != null); _elements = value; } /// The list of imports in the library. List get imports => _imports; /// The list of imports in the library. set imports(List value) { assert(value != null); _imports = value; } ExistingImports(ImportedElementSet elements, List imports) { this.elements = elements; this.imports = imports; } factory ExistingImports.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { ImportedElementSet elements; if (json.containsKey('elements')) { elements = ImportedElementSet.fromJson( jsonDecoder, jsonPath + '.elements', json['elements']); } else { throw jsonDecoder.mismatch(jsonPath, 'elements'); } List imports; if (json.containsKey('imports')) { imports = jsonDecoder.decodeList( jsonPath + '.imports', json['imports'], (String jsonPath, Object json) => ExistingImport.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'imports'); } return ExistingImports(elements, imports); } else { throw jsonDecoder.mismatch(jsonPath, 'ExistingImports', json); } } @override Map toJson() { var result = {}; result['elements'] = elements.toJson(); result['imports'] = imports.map((ExistingImport value) => value.toJson()).toList(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExistingImports) { return elements == other.elements && listEqual(imports, other.imports, (ExistingImport a, ExistingImport b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, elements.hashCode); hash = JenkinsSmiHash.combine(hash, imports.hashCode); return JenkinsSmiHash.finish(hash); } } /// extractLocalVariable feedback /// /// { /// "coveringExpressionOffsets": optional List /// "coveringExpressionLengths": optional List /// "names": List /// "offsets": List /// "lengths": List /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractLocalVariableFeedback extends RefactoringFeedback { List _coveringExpressionOffsets; List _coveringExpressionLengths; List _names; List _offsets; List _lengths; /// The offsets of the expressions that cover the specified selection, from /// the down most to the up most. List get coveringExpressionOffsets => _coveringExpressionOffsets; /// The offsets of the expressions that cover the specified selection, from /// the down most to the up most. set coveringExpressionOffsets(List value) { _coveringExpressionOffsets = value; } /// The lengths of the expressions that cover the specified selection, from /// the down most to the up most. List get coveringExpressionLengths => _coveringExpressionLengths; /// The lengths of the expressions that cover the specified selection, from /// the down most to the up most. set coveringExpressionLengths(List value) { _coveringExpressionLengths = value; } /// The proposed names for the local variable. List get names => _names; /// The proposed names for the local variable. set names(List value) { assert(value != null); _names = value; } /// The offsets of the expressions that would be replaced by a reference to /// the variable. List get offsets => _offsets; /// The offsets of the expressions that would be replaced by a reference to /// the variable. set offsets(List value) { assert(value != null); _offsets = value; } /// The lengths of the expressions that would be replaced by a reference to /// the variable. The lengths correspond to the offsets. In other words, for /// a given expression, if the offset of that expression is offsets[i], then /// the length of that expression is lengths[i]. List get lengths => _lengths; /// The lengths of the expressions that would be replaced by a reference to /// the variable. The lengths correspond to the offsets. In other words, for /// a given expression, if the offset of that expression is offsets[i], then /// the length of that expression is lengths[i]. set lengths(List value) { assert(value != null); _lengths = value; } ExtractLocalVariableFeedback( List names, List offsets, List lengths, {List coveringExpressionOffsets, List coveringExpressionLengths}) { this.coveringExpressionOffsets = coveringExpressionOffsets; this.coveringExpressionLengths = coveringExpressionLengths; this.names = names; this.offsets = offsets; this.lengths = lengths; } factory ExtractLocalVariableFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List coveringExpressionOffsets; if (json.containsKey('coveringExpressionOffsets')) { coveringExpressionOffsets = jsonDecoder.decodeList( jsonPath + '.coveringExpressionOffsets', json['coveringExpressionOffsets'], jsonDecoder.decodeInt); } List coveringExpressionLengths; if (json.containsKey('coveringExpressionLengths')) { coveringExpressionLengths = jsonDecoder.decodeList( jsonPath + '.coveringExpressionLengths', json['coveringExpressionLengths'], jsonDecoder.decodeInt); } List names; if (json.containsKey('names')) { names = jsonDecoder.decodeList( jsonPath + '.names', json['names'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'names'); } List offsets; if (json.containsKey('offsets')) { offsets = jsonDecoder.decodeList( jsonPath + '.offsets', json['offsets'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'offsets'); } List lengths; if (json.containsKey('lengths')) { lengths = jsonDecoder.decodeList( jsonPath + '.lengths', json['lengths'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'lengths'); } return ExtractLocalVariableFeedback(names, offsets, lengths, coveringExpressionOffsets: coveringExpressionOffsets, coveringExpressionLengths: coveringExpressionLengths); } else { throw jsonDecoder.mismatch( jsonPath, 'extractLocalVariable feedback', json); } } @override Map toJson() { var result = {}; if (coveringExpressionOffsets != null) { result['coveringExpressionOffsets'] = coveringExpressionOffsets; } if (coveringExpressionLengths != null) { result['coveringExpressionLengths'] = coveringExpressionLengths; } result['names'] = names; result['offsets'] = offsets; result['lengths'] = lengths; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractLocalVariableFeedback) { return listEqual(coveringExpressionOffsets, other.coveringExpressionOffsets, (int a, int b) => a == b) && listEqual(coveringExpressionLengths, other.coveringExpressionLengths, (int a, int b) => a == b) && listEqual(names, other.names, (String a, String b) => a == b) && listEqual(offsets, other.offsets, (int a, int b) => a == b) && listEqual(lengths, other.lengths, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, coveringExpressionOffsets.hashCode); hash = JenkinsSmiHash.combine(hash, coveringExpressionLengths.hashCode); hash = JenkinsSmiHash.combine(hash, names.hashCode); hash = JenkinsSmiHash.combine(hash, offsets.hashCode); hash = JenkinsSmiHash.combine(hash, lengths.hashCode); return JenkinsSmiHash.finish(hash); } } /// extractLocalVariable options /// /// { /// "name": String /// "extractAll": bool /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractLocalVariableOptions extends RefactoringOptions { String _name; bool _extractAll; /// The name that the local variable should be given. String get name => _name; /// The name that the local variable should be given. set name(String value) { assert(value != null); _name = value; } /// True if all occurrences of the expression within the scope in which the /// variable will be defined should be replaced by a reference to the local /// variable. The expression used to initiate the refactoring will always be /// replaced. bool get extractAll => _extractAll; /// True if all occurrences of the expression within the scope in which the /// variable will be defined should be replaced by a reference to the local /// variable. The expression used to initiate the refactoring will always be /// replaced. set extractAll(bool value) { assert(value != null); _extractAll = value; } ExtractLocalVariableOptions(String name, bool extractAll) { this.name = name; this.extractAll = extractAll; } factory ExtractLocalVariableOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } bool extractAll; if (json.containsKey('extractAll')) { extractAll = jsonDecoder.decodeBool( jsonPath + '.extractAll', json['extractAll']); } else { throw jsonDecoder.mismatch(jsonPath, 'extractAll'); } return ExtractLocalVariableOptions(name, extractAll); } else { throw jsonDecoder.mismatch( jsonPath, 'extractLocalVariable options', json); } } factory ExtractLocalVariableOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return ExtractLocalVariableOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['name'] = name; result['extractAll'] = extractAll; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractLocalVariableOptions) { return name == other.name && extractAll == other.extractAll; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, extractAll.hashCode); return JenkinsSmiHash.finish(hash); } } /// extractMethod feedback /// /// { /// "offset": int /// "length": int /// "returnType": String /// "names": List /// "canCreateGetter": bool /// "parameters": List /// "offsets": List /// "lengths": List /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractMethodFeedback extends RefactoringFeedback { int _offset; int _length; String _returnType; List _names; bool _canCreateGetter; List _parameters; List _offsets; List _lengths; /// The offset to the beginning of the expression or statements that will be /// extracted. int get offset => _offset; /// The offset to the beginning of the expression or statements that will be /// extracted. set offset(int value) { assert(value != null); _offset = value; } /// The length of the expression or statements that will be extracted. int get length => _length; /// The length of the expression or statements that will be extracted. set length(int value) { assert(value != null); _length = value; } /// The proposed return type for the method. If the returned element does not /// have a declared return type, this field will contain an empty string. String get returnType => _returnType; /// The proposed return type for the method. If the returned element does not /// have a declared return type, this field will contain an empty string. set returnType(String value) { assert(value != null); _returnType = value; } /// The proposed names for the method. List get names => _names; /// The proposed names for the method. set names(List value) { assert(value != null); _names = value; } /// True if a getter could be created rather than a method. bool get canCreateGetter => _canCreateGetter; /// True if a getter could be created rather than a method. set canCreateGetter(bool value) { assert(value != null); _canCreateGetter = value; } /// The proposed parameters for the method. List get parameters => _parameters; /// The proposed parameters for the method. set parameters(List value) { assert(value != null); _parameters = value; } /// The offsets of the expressions or statements that would be replaced by an /// invocation of the method. List get offsets => _offsets; /// The offsets of the expressions or statements that would be replaced by an /// invocation of the method. set offsets(List value) { assert(value != null); _offsets = value; } /// The lengths of the expressions or statements that would be replaced by an /// invocation of the method. The lengths correspond to the offsets. In other /// words, for a given expression (or block of statements), if the offset of /// that expression is offsets[i], then the length of that expression is /// lengths[i]. List get lengths => _lengths; /// The lengths of the expressions or statements that would be replaced by an /// invocation of the method. The lengths correspond to the offsets. In other /// words, for a given expression (or block of statements), if the offset of /// that expression is offsets[i], then the length of that expression is /// lengths[i]. set lengths(List value) { assert(value != null); _lengths = value; } ExtractMethodFeedback( int offset, int length, String returnType, List names, bool canCreateGetter, List parameters, List offsets, List lengths) { this.offset = offset; this.length = length; this.returnType = returnType; this.names = names; this.canCreateGetter = canCreateGetter; this.parameters = parameters; this.offsets = offsets; this.lengths = lengths; } factory ExtractMethodFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } String returnType; if (json.containsKey('returnType')) { returnType = jsonDecoder.decodeString( jsonPath + '.returnType', json['returnType']); } else { throw jsonDecoder.mismatch(jsonPath, 'returnType'); } List names; if (json.containsKey('names')) { names = jsonDecoder.decodeList( jsonPath + '.names', json['names'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'names'); } bool canCreateGetter; if (json.containsKey('canCreateGetter')) { canCreateGetter = jsonDecoder.decodeBool( jsonPath + '.canCreateGetter', json['canCreateGetter']); } else { throw jsonDecoder.mismatch(jsonPath, 'canCreateGetter'); } List parameters; if (json.containsKey('parameters')) { parameters = jsonDecoder.decodeList( jsonPath + '.parameters', json['parameters'], (String jsonPath, Object json) => RefactoringMethodParameter.fromJson( jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'parameters'); } List offsets; if (json.containsKey('offsets')) { offsets = jsonDecoder.decodeList( jsonPath + '.offsets', json['offsets'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'offsets'); } List lengths; if (json.containsKey('lengths')) { lengths = jsonDecoder.decodeList( jsonPath + '.lengths', json['lengths'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'lengths'); } return ExtractMethodFeedback(offset, length, returnType, names, canCreateGetter, parameters, offsets, lengths); } else { throw jsonDecoder.mismatch(jsonPath, 'extractMethod feedback', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; result['returnType'] = returnType; result['names'] = names; result['canCreateGetter'] = canCreateGetter; result['parameters'] = parameters .map((RefactoringMethodParameter value) => value.toJson()) .toList(); result['offsets'] = offsets; result['lengths'] = lengths; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractMethodFeedback) { return offset == other.offset && length == other.length && returnType == other.returnType && listEqual(names, other.names, (String a, String b) => a == b) && canCreateGetter == other.canCreateGetter && listEqual( parameters, other.parameters, (RefactoringMethodParameter a, RefactoringMethodParameter b) => a == b) && listEqual(offsets, other.offsets, (int a, int b) => a == b) && listEqual(lengths, other.lengths, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, returnType.hashCode); hash = JenkinsSmiHash.combine(hash, names.hashCode); hash = JenkinsSmiHash.combine(hash, canCreateGetter.hashCode); hash = JenkinsSmiHash.combine(hash, parameters.hashCode); hash = JenkinsSmiHash.combine(hash, offsets.hashCode); hash = JenkinsSmiHash.combine(hash, lengths.hashCode); return JenkinsSmiHash.finish(hash); } } /// extractMethod options /// /// { /// "returnType": String /// "createGetter": bool /// "name": String /// "parameters": List /// "extractAll": bool /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractMethodOptions extends RefactoringOptions { String _returnType; bool _createGetter; String _name; List _parameters; bool _extractAll; /// The return type that should be defined for the method. String get returnType => _returnType; /// The return type that should be defined for the method. set returnType(String value) { assert(value != null); _returnType = value; } /// True if a getter should be created rather than a method. It is an error /// if this field is true and the list of parameters is non-empty. bool get createGetter => _createGetter; /// True if a getter should be created rather than a method. It is an error /// if this field is true and the list of parameters is non-empty. set createGetter(bool value) { assert(value != null); _createGetter = value; } /// The name that the method should be given. String get name => _name; /// The name that the method should be given. set name(String value) { assert(value != null); _name = value; } /// The parameters that should be defined for the method. /// /// It is an error if a REQUIRED or NAMED parameter follows a POSITIONAL /// parameter. It is an error if a REQUIRED or POSITIONAL parameter follows a /// NAMED parameter. /// /// - To change the order and/or update proposed parameters, add parameters /// with the same identifiers as proposed. /// - To add new parameters, omit their identifier. /// - To remove some parameters, omit them in this list. List get parameters => _parameters; /// The parameters that should be defined for the method. /// /// It is an error if a REQUIRED or NAMED parameter follows a POSITIONAL /// parameter. It is an error if a REQUIRED or POSITIONAL parameter follows a /// NAMED parameter. /// /// - To change the order and/or update proposed parameters, add parameters /// with the same identifiers as proposed. /// - To add new parameters, omit their identifier. /// - To remove some parameters, omit them in this list. set parameters(List value) { assert(value != null); _parameters = value; } /// True if all occurrences of the expression or statements should be /// replaced by an invocation of the method. The expression or statements /// used to initiate the refactoring will always be replaced. bool get extractAll => _extractAll; /// True if all occurrences of the expression or statements should be /// replaced by an invocation of the method. The expression or statements /// used to initiate the refactoring will always be replaced. set extractAll(bool value) { assert(value != null); _extractAll = value; } ExtractMethodOptions(String returnType, bool createGetter, String name, List parameters, bool extractAll) { this.returnType = returnType; this.createGetter = createGetter; this.name = name; this.parameters = parameters; this.extractAll = extractAll; } factory ExtractMethodOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String returnType; if (json.containsKey('returnType')) { returnType = jsonDecoder.decodeString( jsonPath + '.returnType', json['returnType']); } else { throw jsonDecoder.mismatch(jsonPath, 'returnType'); } bool createGetter; if (json.containsKey('createGetter')) { createGetter = jsonDecoder.decodeBool( jsonPath + '.createGetter', json['createGetter']); } else { throw jsonDecoder.mismatch(jsonPath, 'createGetter'); } String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } List parameters; if (json.containsKey('parameters')) { parameters = jsonDecoder.decodeList( jsonPath + '.parameters', json['parameters'], (String jsonPath, Object json) => RefactoringMethodParameter.fromJson( jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'parameters'); } bool extractAll; if (json.containsKey('extractAll')) { extractAll = jsonDecoder.decodeBool( jsonPath + '.extractAll', json['extractAll']); } else { throw jsonDecoder.mismatch(jsonPath, 'extractAll'); } return ExtractMethodOptions( returnType, createGetter, name, parameters, extractAll); } else { throw jsonDecoder.mismatch(jsonPath, 'extractMethod options', json); } } factory ExtractMethodOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return ExtractMethodOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['returnType'] = returnType; result['createGetter'] = createGetter; result['name'] = name; result['parameters'] = parameters .map((RefactoringMethodParameter value) => value.toJson()) .toList(); result['extractAll'] = extractAll; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractMethodOptions) { return returnType == other.returnType && createGetter == other.createGetter && name == other.name && listEqual( parameters, other.parameters, (RefactoringMethodParameter a, RefactoringMethodParameter b) => a == b) && extractAll == other.extractAll; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, returnType.hashCode); hash = JenkinsSmiHash.combine(hash, createGetter.hashCode); hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, parameters.hashCode); hash = JenkinsSmiHash.combine(hash, extractAll.hashCode); return JenkinsSmiHash.finish(hash); } } /// extractWidget feedback /// /// { /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractWidgetFeedback extends RefactoringFeedback { ExtractWidgetFeedback(); factory ExtractWidgetFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { return ExtractWidgetFeedback(); } else { throw jsonDecoder.mismatch(jsonPath, 'extractWidget feedback', json); } } @override Map toJson() { var result = {}; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractWidgetFeedback) { return true; } return false; } @override int get hashCode { var hash = 0; return JenkinsSmiHash.finish(hash); } } /// extractWidget options /// /// { /// "name": String /// } /// /// Clients may not extend, implement or mix-in this class. class ExtractWidgetOptions extends RefactoringOptions { String _name; /// The name that the widget class should be given. String get name => _name; /// The name that the widget class should be given. set name(String value) { assert(value != null); _name = value; } ExtractWidgetOptions(String name) { this.name = name; } factory ExtractWidgetOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } return ExtractWidgetOptions(name); } else { throw jsonDecoder.mismatch(jsonPath, 'extractWidget options', json); } } factory ExtractWidgetOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return ExtractWidgetOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['name'] = name; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ExtractWidgetOptions) { return name == other.name; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); return JenkinsSmiHash.finish(hash); } } /// FileKind /// /// enum { /// LIBRARY /// PART /// } /// /// Clients may not extend, implement or mix-in this class. class FileKind implements Enum { static const FileKind LIBRARY = FileKind._('LIBRARY'); static const FileKind PART = FileKind._('PART'); /// A list containing all of the enum values that are defined. static const List VALUES = [LIBRARY, PART]; @override final String name; const FileKind._(this.name); factory FileKind(String name) { switch (name) { case 'LIBRARY': return LIBRARY; case 'PART': return PART; } throw Exception('Illegal enum value: $name'); } factory FileKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return FileKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'FileKind', json); } @override String toString() => 'FileKind.$name'; String toJson() => name; } /// flutter.getWidgetDescription params /// /// { /// "file": FilePath /// "offset": int /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterGetWidgetDescriptionParams implements RequestParams { String _file; int _offset; /// The file where the widget instance is created. String get file => _file; /// The file where the widget instance is created. set file(String value) { assert(value != null); _file = value; } /// The offset in the file where the widget instance is created. int get offset => _offset; /// The offset in the file where the widget instance is created. set offset(int value) { assert(value != null); _offset = value; } FlutterGetWidgetDescriptionParams(String file, int offset) { this.file = file; this.offset = offset; } factory FlutterGetWidgetDescriptionParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } return FlutterGetWidgetDescriptionParams(file, offset); } else { throw jsonDecoder.mismatch( jsonPath, 'flutter.getWidgetDescription params', json); } } factory FlutterGetWidgetDescriptionParams.fromRequest(Request request) { return FlutterGetWidgetDescriptionParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; return result; } @override Request toRequest(String id) { return Request(id, 'flutter.getWidgetDescription', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterGetWidgetDescriptionParams) { return file == other.file && offset == other.offset; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); return JenkinsSmiHash.finish(hash); } } /// flutter.getWidgetDescription result /// /// { /// "properties": List /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterGetWidgetDescriptionResult implements ResponseResult { List _properties; /// The list of properties of the widget. Some of the properties might be /// read only, when their editor is not set. This might be because they have /// type that we don't know how to edit, or for compound properties that work /// as containers for sub-properties. List get properties => _properties; /// The list of properties of the widget. Some of the properties might be /// read only, when their editor is not set. This might be because they have /// type that we don't know how to edit, or for compound properties that work /// as containers for sub-properties. set properties(List value) { assert(value != null); _properties = value; } FlutterGetWidgetDescriptionResult(List properties) { this.properties = properties; } factory FlutterGetWidgetDescriptionResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List properties; if (json.containsKey('properties')) { properties = jsonDecoder.decodeList( jsonPath + '.properties', json['properties'], (String jsonPath, Object json) => FlutterWidgetProperty.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'properties'); } return FlutterGetWidgetDescriptionResult(properties); } else { throw jsonDecoder.mismatch( jsonPath, 'flutter.getWidgetDescription result', json); } } factory FlutterGetWidgetDescriptionResult.fromResponse(Response response) { return FlutterGetWidgetDescriptionResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['properties'] = properties .map((FlutterWidgetProperty value) => value.toJson()) .toList(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterGetWidgetDescriptionResult) { return listEqual(properties, other.properties, (FlutterWidgetProperty a, FlutterWidgetProperty b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, properties.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterOutline /// /// { /// "kind": FlutterOutlineKind /// "offset": int /// "length": int /// "codeOffset": int /// "codeLength": int /// "label": optional String /// "dartElement": optional Element /// "attributes": optional List /// "className": optional String /// "parentAssociationLabel": optional String /// "variableName": optional String /// "children": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterOutline implements HasToJson { FlutterOutlineKind _kind; int _offset; int _length; int _codeOffset; int _codeLength; String _label; Element _dartElement; List _attributes; String _className; String _parentAssociationLabel; String _variableName; List _children; /// The kind of the node. FlutterOutlineKind get kind => _kind; /// The kind of the node. set kind(FlutterOutlineKind value) { assert(value != null); _kind = value; } /// The offset of the first character of the element. This is different than /// the offset in the Element, which is the offset of the name of the /// element. It can be used, for example, to map locations in the file back /// to an outline. int get offset => _offset; /// The offset of the first character of the element. This is different than /// the offset in the Element, which is the offset of the name of the /// element. It can be used, for example, to map locations in the file back /// to an outline. set offset(int value) { assert(value != null); _offset = value; } /// The length of the element. int get length => _length; /// The length of the element. set length(int value) { assert(value != null); _length = value; } /// The offset of the first character of the element code, which is neither /// documentation, nor annotation. int get codeOffset => _codeOffset; /// The offset of the first character of the element code, which is neither /// documentation, nor annotation. set codeOffset(int value) { assert(value != null); _codeOffset = value; } /// The length of the element code. int get codeLength => _codeLength; /// The length of the element code. set codeLength(int value) { assert(value != null); _codeLength = value; } /// The text label of the node children of the node. It is provided for any /// FlutterOutlineKind.GENERIC node, where better information is not /// available. String get label => _label; /// The text label of the node children of the node. It is provided for any /// FlutterOutlineKind.GENERIC node, where better information is not /// available. set label(String value) { _label = value; } /// If this node is a Dart element, the description of it; omitted otherwise. Element get dartElement => _dartElement; /// If this node is a Dart element, the description of it; omitted otherwise. set dartElement(Element value) { _dartElement = value; } /// Additional attributes for this node, which might be interesting to /// display on the client. These attributes are usually arguments for the /// instance creation or the invocation that created the widget. List get attributes => _attributes; /// Additional attributes for this node, which might be interesting to /// display on the client. These attributes are usually arguments for the /// instance creation or the invocation that created the widget. set attributes(List value) { _attributes = value; } /// If the node creates a new class instance, or a reference to an instance, /// this field has the name of the class. String get className => _className; /// If the node creates a new class instance, or a reference to an instance, /// this field has the name of the class. set className(String value) { _className = value; } /// A short text description how this node is associated with the parent /// node. For example "appBar" or "body" in Scaffold. String get parentAssociationLabel => _parentAssociationLabel; /// A short text description how this node is associated with the parent /// node. For example "appBar" or "body" in Scaffold. set parentAssociationLabel(String value) { _parentAssociationLabel = value; } /// If FlutterOutlineKind.VARIABLE, the name of the variable. String get variableName => _variableName; /// If FlutterOutlineKind.VARIABLE, the name of the variable. set variableName(String value) { _variableName = value; } /// The children of the node. The field will be omitted if the node has no /// children. List get children => _children; /// The children of the node. The field will be omitted if the node has no /// children. set children(List value) { _children = value; } FlutterOutline(FlutterOutlineKind kind, int offset, int length, int codeOffset, int codeLength, {String label, Element dartElement, List attributes, String className, String parentAssociationLabel, String variableName, List children}) { this.kind = kind; this.offset = offset; this.length = length; this.codeOffset = codeOffset; this.codeLength = codeLength; this.label = label; this.dartElement = dartElement; this.attributes = attributes; this.className = className; this.parentAssociationLabel = parentAssociationLabel; this.variableName = variableName; this.children = children; } factory FlutterOutline.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { FlutterOutlineKind kind; if (json.containsKey('kind')) { kind = FlutterOutlineKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } int codeOffset; if (json.containsKey('codeOffset')) { codeOffset = jsonDecoder.decodeInt(jsonPath + '.codeOffset', json['codeOffset']); } else { throw jsonDecoder.mismatch(jsonPath, 'codeOffset'); } int codeLength; if (json.containsKey('codeLength')) { codeLength = jsonDecoder.decodeInt(jsonPath + '.codeLength', json['codeLength']); } else { throw jsonDecoder.mismatch(jsonPath, 'codeLength'); } String label; if (json.containsKey('label')) { label = jsonDecoder.decodeString(jsonPath + '.label', json['label']); } Element dartElement; if (json.containsKey('dartElement')) { dartElement = Element.fromJson( jsonDecoder, jsonPath + '.dartElement', json['dartElement']); } List attributes; if (json.containsKey('attributes')) { attributes = jsonDecoder.decodeList( jsonPath + '.attributes', json['attributes'], (String jsonPath, Object json) => FlutterOutlineAttribute.fromJson(jsonDecoder, jsonPath, json)); } String className; if (json.containsKey('className')) { className = jsonDecoder.decodeString( jsonPath + '.className', json['className']); } String parentAssociationLabel; if (json.containsKey('parentAssociationLabel')) { parentAssociationLabel = jsonDecoder.decodeString( jsonPath + '.parentAssociationLabel', json['parentAssociationLabel']); } String variableName; if (json.containsKey('variableName')) { variableName = jsonDecoder.decodeString( jsonPath + '.variableName', json['variableName']); } List children; if (json.containsKey('children')) { children = jsonDecoder.decodeList( jsonPath + '.children', json['children'], (String jsonPath, Object json) => FlutterOutline.fromJson(jsonDecoder, jsonPath, json)); } return FlutterOutline(kind, offset, length, codeOffset, codeLength, label: label, dartElement: dartElement, attributes: attributes, className: className, parentAssociationLabel: parentAssociationLabel, variableName: variableName, children: children); } else { throw jsonDecoder.mismatch(jsonPath, 'FlutterOutline', json); } } @override Map toJson() { var result = {}; result['kind'] = kind.toJson(); result['offset'] = offset; result['length'] = length; result['codeOffset'] = codeOffset; result['codeLength'] = codeLength; if (label != null) { result['label'] = label; } if (dartElement != null) { result['dartElement'] = dartElement.toJson(); } if (attributes != null) { result['attributes'] = attributes .map((FlutterOutlineAttribute value) => value.toJson()) .toList(); } if (className != null) { result['className'] = className; } if (parentAssociationLabel != null) { result['parentAssociationLabel'] = parentAssociationLabel; } if (variableName != null) { result['variableName'] = variableName; } if (children != null) { result['children'] = children.map((FlutterOutline value) => value.toJson()).toList(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterOutline) { return kind == other.kind && offset == other.offset && length == other.length && codeOffset == other.codeOffset && codeLength == other.codeLength && label == other.label && dartElement == other.dartElement && listEqual( attributes, other.attributes, (FlutterOutlineAttribute a, FlutterOutlineAttribute b) => a == b) && className == other.className && parentAssociationLabel == other.parentAssociationLabel && variableName == other.variableName && listEqual(children, other.children, (FlutterOutline a, FlutterOutline b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, codeOffset.hashCode); hash = JenkinsSmiHash.combine(hash, codeLength.hashCode); hash = JenkinsSmiHash.combine(hash, label.hashCode); hash = JenkinsSmiHash.combine(hash, dartElement.hashCode); hash = JenkinsSmiHash.combine(hash, attributes.hashCode); hash = JenkinsSmiHash.combine(hash, className.hashCode); hash = JenkinsSmiHash.combine(hash, parentAssociationLabel.hashCode); hash = JenkinsSmiHash.combine(hash, variableName.hashCode); hash = JenkinsSmiHash.combine(hash, children.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterOutlineAttribute /// /// { /// "name": String /// "label": String /// "literalValueBoolean": optional bool /// "literalValueInteger": optional int /// "literalValueString": optional String /// "nameLocation": optional Location /// "valueLocation": optional Location /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterOutlineAttribute implements HasToJson { String _name; String _label; bool _literalValueBoolean; int _literalValueInteger; String _literalValueString; Location _nameLocation; Location _valueLocation; /// The name of the attribute. String get name => _name; /// The name of the attribute. set name(String value) { assert(value != null); _name = value; } /// The label of the attribute value, usually the Dart code. It might be /// quite long, the client should abbreviate as needed. String get label => _label; /// The label of the attribute value, usually the Dart code. It might be /// quite long, the client should abbreviate as needed. set label(String value) { assert(value != null); _label = value; } /// The boolean literal value of the attribute. This field is absent if the /// value is not a boolean literal. bool get literalValueBoolean => _literalValueBoolean; /// The boolean literal value of the attribute. This field is absent if the /// value is not a boolean literal. set literalValueBoolean(bool value) { _literalValueBoolean = value; } /// The integer literal value of the attribute. This field is absent if the /// value is not an integer literal. int get literalValueInteger => _literalValueInteger; /// The integer literal value of the attribute. This field is absent if the /// value is not an integer literal. set literalValueInteger(int value) { _literalValueInteger = value; } /// The string literal value of the attribute. This field is absent if the /// value is not a string literal. String get literalValueString => _literalValueString; /// The string literal value of the attribute. This field is absent if the /// value is not a string literal. set literalValueString(String value) { _literalValueString = value; } /// If the attribute is a named argument, the location of the name, without /// the colon. Location get nameLocation => _nameLocation; /// If the attribute is a named argument, the location of the name, without /// the colon. set nameLocation(Location value) { _nameLocation = value; } /// The location of the value. /// /// This field is always available, but marked optional for backward /// compatibility between new clients with older servers. Location get valueLocation => _valueLocation; /// The location of the value. /// /// This field is always available, but marked optional for backward /// compatibility between new clients with older servers. set valueLocation(Location value) { _valueLocation = value; } FlutterOutlineAttribute(String name, String label, {bool literalValueBoolean, int literalValueInteger, String literalValueString, Location nameLocation, Location valueLocation}) { this.name = name; this.label = label; this.literalValueBoolean = literalValueBoolean; this.literalValueInteger = literalValueInteger; this.literalValueString = literalValueString; this.nameLocation = nameLocation; this.valueLocation = valueLocation; } factory FlutterOutlineAttribute.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } String label; if (json.containsKey('label')) { label = jsonDecoder.decodeString(jsonPath + '.label', json['label']); } else { throw jsonDecoder.mismatch(jsonPath, 'label'); } bool literalValueBoolean; if (json.containsKey('literalValueBoolean')) { literalValueBoolean = jsonDecoder.decodeBool( jsonPath + '.literalValueBoolean', json['literalValueBoolean']); } int literalValueInteger; if (json.containsKey('literalValueInteger')) { literalValueInteger = jsonDecoder.decodeInt( jsonPath + '.literalValueInteger', json['literalValueInteger']); } String literalValueString; if (json.containsKey('literalValueString')) { literalValueString = jsonDecoder.decodeString( jsonPath + '.literalValueString', json['literalValueString']); } Location nameLocation; if (json.containsKey('nameLocation')) { nameLocation = Location.fromJson( jsonDecoder, jsonPath + '.nameLocation', json['nameLocation']); } Location valueLocation; if (json.containsKey('valueLocation')) { valueLocation = Location.fromJson( jsonDecoder, jsonPath + '.valueLocation', json['valueLocation']); } return FlutterOutlineAttribute(name, label, literalValueBoolean: literalValueBoolean, literalValueInteger: literalValueInteger, literalValueString: literalValueString, nameLocation: nameLocation, valueLocation: valueLocation); } else { throw jsonDecoder.mismatch(jsonPath, 'FlutterOutlineAttribute', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['label'] = label; if (literalValueBoolean != null) { result['literalValueBoolean'] = literalValueBoolean; } if (literalValueInteger != null) { result['literalValueInteger'] = literalValueInteger; } if (literalValueString != null) { result['literalValueString'] = literalValueString; } if (nameLocation != null) { result['nameLocation'] = nameLocation.toJson(); } if (valueLocation != null) { result['valueLocation'] = valueLocation.toJson(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterOutlineAttribute) { return name == other.name && label == other.label && literalValueBoolean == other.literalValueBoolean && literalValueInteger == other.literalValueInteger && literalValueString == other.literalValueString && nameLocation == other.nameLocation && valueLocation == other.valueLocation; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, label.hashCode); hash = JenkinsSmiHash.combine(hash, literalValueBoolean.hashCode); hash = JenkinsSmiHash.combine(hash, literalValueInteger.hashCode); hash = JenkinsSmiHash.combine(hash, literalValueString.hashCode); hash = JenkinsSmiHash.combine(hash, nameLocation.hashCode); hash = JenkinsSmiHash.combine(hash, valueLocation.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterOutlineKind /// /// enum { /// DART_ELEMENT /// GENERIC /// NEW_INSTANCE /// INVOCATION /// VARIABLE /// PLACEHOLDER /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterOutlineKind implements Enum { /// A dart element declaration. static const FlutterOutlineKind DART_ELEMENT = FlutterOutlineKind._('DART_ELEMENT'); /// A generic Flutter element, without additional information. static const FlutterOutlineKind GENERIC = FlutterOutlineKind._('GENERIC'); /// A new instance creation. static const FlutterOutlineKind NEW_INSTANCE = FlutterOutlineKind._('NEW_INSTANCE'); /// An invocation of a method, a top-level function, a function expression, /// etc. static const FlutterOutlineKind INVOCATION = FlutterOutlineKind._('INVOCATION'); /// A reference to a local variable, or a field. static const FlutterOutlineKind VARIABLE = FlutterOutlineKind._('VARIABLE'); /// The parent node has a required Widget. The node works as a placeholder /// child to drop a new Widget to. static const FlutterOutlineKind PLACEHOLDER = FlutterOutlineKind._('PLACEHOLDER'); /// A list containing all of the enum values that are defined. static const List VALUES = [ DART_ELEMENT, GENERIC, NEW_INSTANCE, INVOCATION, VARIABLE, PLACEHOLDER ]; @override final String name; const FlutterOutlineKind._(this.name); factory FlutterOutlineKind(String name) { switch (name) { case 'DART_ELEMENT': return DART_ELEMENT; case 'GENERIC': return GENERIC; case 'NEW_INSTANCE': return NEW_INSTANCE; case 'INVOCATION': return INVOCATION; case 'VARIABLE': return VARIABLE; case 'PLACEHOLDER': return PLACEHOLDER; } throw Exception('Illegal enum value: $name'); } factory FlutterOutlineKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return FlutterOutlineKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'FlutterOutlineKind', json); } @override String toString() => 'FlutterOutlineKind.$name'; String toJson() => name; } /// flutter.outline params /// /// { /// "file": FilePath /// "outline": FlutterOutline /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterOutlineParams implements HasToJson { String _file; FlutterOutline _outline; /// The file with which the outline is associated. String get file => _file; /// The file with which the outline is associated. set file(String value) { assert(value != null); _file = value; } /// The outline associated with the file. FlutterOutline get outline => _outline; /// The outline associated with the file. set outline(FlutterOutline value) { assert(value != null); _outline = value; } FlutterOutlineParams(String file, FlutterOutline outline) { this.file = file; this.outline = outline; } factory FlutterOutlineParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } FlutterOutline outline; if (json.containsKey('outline')) { outline = FlutterOutline.fromJson( jsonDecoder, jsonPath + '.outline', json['outline']); } else { throw jsonDecoder.mismatch(jsonPath, 'outline'); } return FlutterOutlineParams(file, outline); } else { throw jsonDecoder.mismatch(jsonPath, 'flutter.outline params', json); } } factory FlutterOutlineParams.fromNotification(Notification notification) { return FlutterOutlineParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['file'] = file; result['outline'] = outline.toJson(); return result; } Notification toNotification() { return Notification('flutter.outline', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterOutlineParams) { return file == other.file && outline == other.outline; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, outline.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterService /// /// enum { /// OUTLINE /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterService implements Enum { static const FlutterService OUTLINE = FlutterService._('OUTLINE'); /// A list containing all of the enum values that are defined. static const List VALUES = [OUTLINE]; @override final String name; const FlutterService._(this.name); factory FlutterService(String name) { switch (name) { case 'OUTLINE': return OUTLINE; } throw Exception('Illegal enum value: $name'); } factory FlutterService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return FlutterService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'FlutterService', json); } @override String toString() => 'FlutterService.$name'; String toJson() => name; } /// flutter.setSubscriptions params /// /// { /// "subscriptions": Map> /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterSetSubscriptionsParams implements RequestParams { Map> _subscriptions; /// A table mapping services to a list of the files being subscribed to the /// service. Map> get subscriptions => _subscriptions; /// A table mapping services to a list of the files being subscribed to the /// service. set subscriptions(Map> value) { assert(value != null); _subscriptions = value; } FlutterSetSubscriptionsParams( Map> subscriptions) { this.subscriptions = subscriptions; } factory FlutterSetSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Map> subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeMap( jsonPath + '.subscriptions', json['subscriptions'], keyDecoder: (String jsonPath, Object json) => FlutterService.fromJson(jsonDecoder, jsonPath, json), valueDecoder: (String jsonPath, Object json) => jsonDecoder .decodeList(jsonPath, json, jsonDecoder.decodeString)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return FlutterSetSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'flutter.setSubscriptions params', json); } } factory FlutterSetSubscriptionsParams.fromRequest(Request request) { return FlutterSetSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = mapMap(subscriptions, keyCallback: (FlutterService value) => value.toJson()); return result; } @override Request toRequest(String id) { return Request(id, 'flutter.setSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterSetSubscriptionsParams) { return mapEqual( subscriptions, other.subscriptions, (List a, List b) => listEqual(a, b, (String a, String b) => a == b)); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// flutter.setSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class FlutterSetSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is FlutterSetSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 628296315; } } /// flutter.setWidgetPropertyValue params /// /// { /// "id": int /// "value": optional FlutterWidgetPropertyValue /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterSetWidgetPropertyValueParams implements RequestParams { int _id; FlutterWidgetPropertyValue _value; /// The identifier of the property, previously returned as a part of a /// FlutterWidgetProperty. /// /// An error of type FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID is /// generated if the identifier is not valid. int get id => _id; /// The identifier of the property, previously returned as a part of a /// FlutterWidgetProperty. /// /// An error of type FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID is /// generated if the identifier is not valid. set id(int value) { assert(value != null); _id = value; } /// The new value to set for the property. /// /// If absent, indicates that the property should be removed. If the property /// corresponds to an optional parameter, the corresponding named argument is /// removed. If the property isRequired is true, /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED error is generated. /// /// If the expression is not a syntactically valid Dart code, then /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION is reported. FlutterWidgetPropertyValue get value => _value; /// The new value to set for the property. /// /// If absent, indicates that the property should be removed. If the property /// corresponds to an optional parameter, the corresponding named argument is /// removed. If the property isRequired is true, /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED error is generated. /// /// If the expression is not a syntactically valid Dart code, then /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION is reported. set value(FlutterWidgetPropertyValue value) { _value = value; } FlutterSetWidgetPropertyValueParams(int id, {FlutterWidgetPropertyValue value}) { this.id = id; this.value = value; } factory FlutterSetWidgetPropertyValueParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int id; if (json.containsKey('id')) { id = jsonDecoder.decodeInt(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } FlutterWidgetPropertyValue value; if (json.containsKey('value')) { value = FlutterWidgetPropertyValue.fromJson( jsonDecoder, jsonPath + '.value', json['value']); } return FlutterSetWidgetPropertyValueParams(id, value: value); } else { throw jsonDecoder.mismatch( jsonPath, 'flutter.setWidgetPropertyValue params', json); } } factory FlutterSetWidgetPropertyValueParams.fromRequest(Request request) { return FlutterSetWidgetPropertyValueParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['id'] = id; if (value != null) { result['value'] = value.toJson(); } return result; } @override Request toRequest(String id) { return Request(id, 'flutter.setWidgetPropertyValue', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterSetWidgetPropertyValueParams) { return id == other.id && value == other.value; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, value.hashCode); return JenkinsSmiHash.finish(hash); } } /// flutter.setWidgetPropertyValue result /// /// { /// "change": SourceChange /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterSetWidgetPropertyValueResult implements ResponseResult { SourceChange _change; /// The change that should be applied. SourceChange get change => _change; /// The change that should be applied. set change(SourceChange value) { assert(value != null); _change = value; } FlutterSetWidgetPropertyValueResult(SourceChange change) { this.change = change; } factory FlutterSetWidgetPropertyValueResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { SourceChange change; if (json.containsKey('change')) { change = SourceChange.fromJson( jsonDecoder, jsonPath + '.change', json['change']); } else { throw jsonDecoder.mismatch(jsonPath, 'change'); } return FlutterSetWidgetPropertyValueResult(change); } else { throw jsonDecoder.mismatch( jsonPath, 'flutter.setWidgetPropertyValue result', json); } } factory FlutterSetWidgetPropertyValueResult.fromResponse(Response response) { return FlutterSetWidgetPropertyValueResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['change'] = change.toJson(); return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterSetWidgetPropertyValueResult) { return change == other.change; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, change.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterWidgetProperty /// /// { /// "documentation": optional String /// "expression": optional String /// "id": int /// "isRequired": bool /// "isSafeToUpdate": bool /// "name": String /// "children": optional List /// "editor": optional FlutterWidgetPropertyEditor /// "value": optional FlutterWidgetPropertyValue /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterWidgetProperty implements HasToJson { String _documentation; String _expression; int _id; bool _isRequired; bool _isSafeToUpdate; String _name; List _children; FlutterWidgetPropertyEditor _editor; FlutterWidgetPropertyValue _value; /// The documentation of the property to show to the user. Omitted if the /// server does not know the documentation, e.g. because the corresponding /// field is not documented. String get documentation => _documentation; /// The documentation of the property to show to the user. Omitted if the /// server does not know the documentation, e.g. because the corresponding /// field is not documented. set documentation(String value) { _documentation = value; } /// If the value of this property is set, the Dart code of the expression of /// this property. String get expression => _expression; /// If the value of this property is set, the Dart code of the expression of /// this property. set expression(String value) { _expression = value; } /// The unique identifier of the property, must be passed back to the server /// when updating the property value. Identifiers become invalid on any /// source code change. int get id => _id; /// The unique identifier of the property, must be passed back to the server /// when updating the property value. Identifiers become invalid on any /// source code change. set id(int value) { assert(value != null); _id = value; } /// True if the property is required, e.g. because it corresponds to a /// required parameter of a constructor. bool get isRequired => _isRequired; /// True if the property is required, e.g. because it corresponds to a /// required parameter of a constructor. set isRequired(bool value) { assert(value != null); _isRequired = value; } /// If the property expression is a concrete value (e.g. a literal, or an /// enum constant), then it is safe to replace the expression with another /// concrete value. In this case this field is true. Otherwise, for example /// when the expression is a reference to a field, so that its value is /// provided from outside, this field is false. bool get isSafeToUpdate => _isSafeToUpdate; /// If the property expression is a concrete value (e.g. a literal, or an /// enum constant), then it is safe to replace the expression with another /// concrete value. In this case this field is true. Otherwise, for example /// when the expression is a reference to a field, so that its value is /// provided from outside, this field is false. set isSafeToUpdate(bool value) { assert(value != null); _isSafeToUpdate = value; } /// The name of the property to display to the user. String get name => _name; /// The name of the property to display to the user. set name(String value) { assert(value != null); _name = value; } /// The list of children properties, if any. For example any property of type /// EdgeInsets will have four children properties of type double - left / top /// / right / bottom. List get children => _children; /// The list of children properties, if any. For example any property of type /// EdgeInsets will have four children properties of type double - left / top /// / right / bottom. set children(List value) { _children = value; } /// The editor that should be used by the client. This field is omitted if /// the server does not know the editor for this property, for example /// because it does not have one of the supported types. FlutterWidgetPropertyEditor get editor => _editor; /// The editor that should be used by the client. This field is omitted if /// the server does not know the editor for this property, for example /// because it does not have one of the supported types. set editor(FlutterWidgetPropertyEditor value) { _editor = value; } /// If the expression is set, and the server knows the value of the /// expression, this field is set. FlutterWidgetPropertyValue get value => _value; /// If the expression is set, and the server knows the value of the /// expression, this field is set. set value(FlutterWidgetPropertyValue value) { _value = value; } FlutterWidgetProperty( int id, bool isRequired, bool isSafeToUpdate, String name, {String documentation, String expression, List children, FlutterWidgetPropertyEditor editor, FlutterWidgetPropertyValue value}) { this.documentation = documentation; this.expression = expression; this.id = id; this.isRequired = isRequired; this.isSafeToUpdate = isSafeToUpdate; this.name = name; this.children = children; this.editor = editor; this.value = value; } factory FlutterWidgetProperty.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String documentation; if (json.containsKey('documentation')) { documentation = jsonDecoder.decodeString( jsonPath + '.documentation', json['documentation']); } String expression; if (json.containsKey('expression')) { expression = jsonDecoder.decodeString( jsonPath + '.expression', json['expression']); } int id; if (json.containsKey('id')) { id = jsonDecoder.decodeInt(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } bool isRequired; if (json.containsKey('isRequired')) { isRequired = jsonDecoder.decodeBool( jsonPath + '.isRequired', json['isRequired']); } else { throw jsonDecoder.mismatch(jsonPath, 'isRequired'); } bool isSafeToUpdate; if (json.containsKey('isSafeToUpdate')) { isSafeToUpdate = jsonDecoder.decodeBool( jsonPath + '.isSafeToUpdate', json['isSafeToUpdate']); } else { throw jsonDecoder.mismatch(jsonPath, 'isSafeToUpdate'); } String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } List children; if (json.containsKey('children')) { children = jsonDecoder.decodeList( jsonPath + '.children', json['children'], (String jsonPath, Object json) => FlutterWidgetProperty.fromJson(jsonDecoder, jsonPath, json)); } FlutterWidgetPropertyEditor editor; if (json.containsKey('editor')) { editor = FlutterWidgetPropertyEditor.fromJson( jsonDecoder, jsonPath + '.editor', json['editor']); } FlutterWidgetPropertyValue value; if (json.containsKey('value')) { value = FlutterWidgetPropertyValue.fromJson( jsonDecoder, jsonPath + '.value', json['value']); } return FlutterWidgetProperty(id, isRequired, isSafeToUpdate, name, documentation: documentation, expression: expression, children: children, editor: editor, value: value); } else { throw jsonDecoder.mismatch(jsonPath, 'FlutterWidgetProperty', json); } } @override Map toJson() { var result = {}; if (documentation != null) { result['documentation'] = documentation; } if (expression != null) { result['expression'] = expression; } result['id'] = id; result['isRequired'] = isRequired; result['isSafeToUpdate'] = isSafeToUpdate; result['name'] = name; if (children != null) { result['children'] = children .map((FlutterWidgetProperty value) => value.toJson()) .toList(); } if (editor != null) { result['editor'] = editor.toJson(); } if (value != null) { result['value'] = value.toJson(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterWidgetProperty) { return documentation == other.documentation && expression == other.expression && id == other.id && isRequired == other.isRequired && isSafeToUpdate == other.isSafeToUpdate && name == other.name && listEqual(children, other.children, (FlutterWidgetProperty a, FlutterWidgetProperty b) => a == b) && editor == other.editor && value == other.value; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, documentation.hashCode); hash = JenkinsSmiHash.combine(hash, expression.hashCode); hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, isRequired.hashCode); hash = JenkinsSmiHash.combine(hash, isSafeToUpdate.hashCode); hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, children.hashCode); hash = JenkinsSmiHash.combine(hash, editor.hashCode); hash = JenkinsSmiHash.combine(hash, value.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterWidgetPropertyEditor /// /// { /// "kind": FlutterWidgetPropertyEditorKind /// "enumItems": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterWidgetPropertyEditor implements HasToJson { FlutterWidgetPropertyEditorKind _kind; List _enumItems; FlutterWidgetPropertyEditorKind get kind => _kind; set kind(FlutterWidgetPropertyEditorKind value) { assert(value != null); _kind = value; } List get enumItems => _enumItems; set enumItems(List value) { _enumItems = value; } FlutterWidgetPropertyEditor(FlutterWidgetPropertyEditorKind kind, {List enumItems}) { this.kind = kind; this.enumItems = enumItems; } factory FlutterWidgetPropertyEditor.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { FlutterWidgetPropertyEditorKind kind; if (json.containsKey('kind')) { kind = FlutterWidgetPropertyEditorKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } List enumItems; if (json.containsKey('enumItems')) { enumItems = jsonDecoder.decodeList( jsonPath + '.enumItems', json['enumItems'], (String jsonPath, Object json) => FlutterWidgetPropertyValueEnumItem.fromJson( jsonDecoder, jsonPath, json)); } return FlutterWidgetPropertyEditor(kind, enumItems: enumItems); } else { throw jsonDecoder.mismatch(jsonPath, 'FlutterWidgetPropertyEditor', json); } } @override Map toJson() { var result = {}; result['kind'] = kind.toJson(); if (enumItems != null) { result['enumItems'] = enumItems .map((FlutterWidgetPropertyValueEnumItem value) => value.toJson()) .toList(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterWidgetPropertyEditor) { return kind == other.kind && listEqual( enumItems, other.enumItems, (FlutterWidgetPropertyValueEnumItem a, FlutterWidgetPropertyValueEnumItem b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, enumItems.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterWidgetPropertyEditorKind /// /// enum { /// BOOL /// DOUBLE /// ENUM /// ENUM_LIKE /// INT /// STRING /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterWidgetPropertyEditorKind implements Enum { /// The editor for a property of type bool. static const FlutterWidgetPropertyEditorKind BOOL = FlutterWidgetPropertyEditorKind._('BOOL'); /// The editor for a property of the type double. static const FlutterWidgetPropertyEditorKind DOUBLE = FlutterWidgetPropertyEditorKind._('DOUBLE'); /// The editor for choosing an item of an enumeration, see the enumItems /// field of FlutterWidgetPropertyEditor. static const FlutterWidgetPropertyEditorKind ENUM = FlutterWidgetPropertyEditorKind._('ENUM'); /// The editor for either choosing a pre-defined item from a list of provided /// static field references (like ENUM), or specifying a free-form /// expression. static const FlutterWidgetPropertyEditorKind ENUM_LIKE = FlutterWidgetPropertyEditorKind._('ENUM_LIKE'); /// The editor for a property of type int. static const FlutterWidgetPropertyEditorKind INT = FlutterWidgetPropertyEditorKind._('INT'); /// The editor for a property of the type String. static const FlutterWidgetPropertyEditorKind STRING = FlutterWidgetPropertyEditorKind._('STRING'); /// A list containing all of the enum values that are defined. static const List VALUES = [ BOOL, DOUBLE, ENUM, ENUM_LIKE, INT, STRING ]; @override final String name; const FlutterWidgetPropertyEditorKind._(this.name); factory FlutterWidgetPropertyEditorKind(String name) { switch (name) { case 'BOOL': return BOOL; case 'DOUBLE': return DOUBLE; case 'ENUM': return ENUM; case 'ENUM_LIKE': return ENUM_LIKE; case 'INT': return INT; case 'STRING': return STRING; } throw Exception('Illegal enum value: $name'); } factory FlutterWidgetPropertyEditorKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return FlutterWidgetPropertyEditorKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch( jsonPath, 'FlutterWidgetPropertyEditorKind', json); } @override String toString() => 'FlutterWidgetPropertyEditorKind.$name'; String toJson() => name; } /// FlutterWidgetPropertyValue /// /// { /// "boolValue": optional bool /// "doubleValue": optional double /// "intValue": optional int /// "stringValue": optional String /// "enumValue": optional FlutterWidgetPropertyValueEnumItem /// "expression": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterWidgetPropertyValue implements HasToJson { bool _boolValue; double _doubleValue; int _intValue; String _stringValue; FlutterWidgetPropertyValueEnumItem _enumValue; String _expression; bool get boolValue => _boolValue; set boolValue(bool value) { _boolValue = value; } double get doubleValue => _doubleValue; set doubleValue(double value) { _doubleValue = value; } int get intValue => _intValue; set intValue(int value) { _intValue = value; } String get stringValue => _stringValue; set stringValue(String value) { _stringValue = value; } FlutterWidgetPropertyValueEnumItem get enumValue => _enumValue; set enumValue(FlutterWidgetPropertyValueEnumItem value) { _enumValue = value; } /// A free-form expression, which will be used as the value as is. String get expression => _expression; /// A free-form expression, which will be used as the value as is. set expression(String value) { _expression = value; } FlutterWidgetPropertyValue( {bool boolValue, double doubleValue, int intValue, String stringValue, FlutterWidgetPropertyValueEnumItem enumValue, String expression}) { this.boolValue = boolValue; this.doubleValue = doubleValue; this.intValue = intValue; this.stringValue = stringValue; this.enumValue = enumValue; this.expression = expression; } factory FlutterWidgetPropertyValue.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool boolValue; if (json.containsKey('boolValue')) { boolValue = jsonDecoder.decodeBool(jsonPath + '.boolValue', json['boolValue']); } double doubleValue; if (json.containsKey('doubleValue')) { doubleValue = jsonDecoder.decodeDouble( jsonPath + '.doubleValue', json['doubleValue']); } int intValue; if (json.containsKey('intValue')) { intValue = jsonDecoder.decodeInt(jsonPath + '.intValue', json['intValue']); } String stringValue; if (json.containsKey('stringValue')) { stringValue = jsonDecoder.decodeString( jsonPath + '.stringValue', json['stringValue']); } FlutterWidgetPropertyValueEnumItem enumValue; if (json.containsKey('enumValue')) { enumValue = FlutterWidgetPropertyValueEnumItem.fromJson( jsonDecoder, jsonPath + '.enumValue', json['enumValue']); } String expression; if (json.containsKey('expression')) { expression = jsonDecoder.decodeString( jsonPath + '.expression', json['expression']); } return FlutterWidgetPropertyValue( boolValue: boolValue, doubleValue: doubleValue, intValue: intValue, stringValue: stringValue, enumValue: enumValue, expression: expression); } else { throw jsonDecoder.mismatch(jsonPath, 'FlutterWidgetPropertyValue', json); } } @override Map toJson() { var result = {}; if (boolValue != null) { result['boolValue'] = boolValue; } if (doubleValue != null) { result['doubleValue'] = doubleValue; } if (intValue != null) { result['intValue'] = intValue; } if (stringValue != null) { result['stringValue'] = stringValue; } if (enumValue != null) { result['enumValue'] = enumValue.toJson(); } if (expression != null) { result['expression'] = expression; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterWidgetPropertyValue) { return boolValue == other.boolValue && doubleValue == other.doubleValue && intValue == other.intValue && stringValue == other.stringValue && enumValue == other.enumValue && expression == other.expression; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, boolValue.hashCode); hash = JenkinsSmiHash.combine(hash, doubleValue.hashCode); hash = JenkinsSmiHash.combine(hash, intValue.hashCode); hash = JenkinsSmiHash.combine(hash, stringValue.hashCode); hash = JenkinsSmiHash.combine(hash, enumValue.hashCode); hash = JenkinsSmiHash.combine(hash, expression.hashCode); return JenkinsSmiHash.finish(hash); } } /// FlutterWidgetPropertyValueEnumItem /// /// { /// "libraryUri": String /// "className": String /// "name": String /// "documentation": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class FlutterWidgetPropertyValueEnumItem implements HasToJson { String _libraryUri; String _className; String _name; String _documentation; /// The URI of the library containing the className. When the enum item is /// passed back, this will allow the server to import the corresponding /// library if necessary. String get libraryUri => _libraryUri; /// The URI of the library containing the className. When the enum item is /// passed back, this will allow the server to import the corresponding /// library if necessary. set libraryUri(String value) { assert(value != null); _libraryUri = value; } /// The name of the class or enum. String get className => _className; /// The name of the class or enum. set className(String value) { assert(value != null); _className = value; } /// The name of the field in the enumeration, or the static field in the /// class. String get name => _name; /// The name of the field in the enumeration, or the static field in the /// class. set name(String value) { assert(value != null); _name = value; } /// The documentation to show to the user. Omitted if the server does not /// know the documentation, e.g. because the corresponding field is not /// documented. String get documentation => _documentation; /// The documentation to show to the user. Omitted if the server does not /// know the documentation, e.g. because the corresponding field is not /// documented. set documentation(String value) { _documentation = value; } FlutterWidgetPropertyValueEnumItem( String libraryUri, String className, String name, {String documentation}) { this.libraryUri = libraryUri; this.className = className; this.name = name; this.documentation = documentation; } factory FlutterWidgetPropertyValueEnumItem.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String libraryUri; if (json.containsKey('libraryUri')) { libraryUri = jsonDecoder.decodeString( jsonPath + '.libraryUri', json['libraryUri']); } else { throw jsonDecoder.mismatch(jsonPath, 'libraryUri'); } String className; if (json.containsKey('className')) { className = jsonDecoder.decodeString( jsonPath + '.className', json['className']); } else { throw jsonDecoder.mismatch(jsonPath, 'className'); } String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } String documentation; if (json.containsKey('documentation')) { documentation = jsonDecoder.decodeString( jsonPath + '.documentation', json['documentation']); } return FlutterWidgetPropertyValueEnumItem(libraryUri, className, name, documentation: documentation); } else { throw jsonDecoder.mismatch( jsonPath, 'FlutterWidgetPropertyValueEnumItem', json); } } @override Map toJson() { var result = {}; result['libraryUri'] = libraryUri; result['className'] = className; result['name'] = name; if (documentation != null) { result['documentation'] = documentation; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is FlutterWidgetPropertyValueEnumItem) { return libraryUri == other.libraryUri && className == other.className && name == other.name && documentation == other.documentation; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, libraryUri.hashCode); hash = JenkinsSmiHash.combine(hash, className.hashCode); hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, documentation.hashCode); return JenkinsSmiHash.finish(hash); } } /// GeneralAnalysisService /// /// enum { /// ANALYZED_FILES /// } /// /// Clients may not extend, implement or mix-in this class. class GeneralAnalysisService implements Enum { static const GeneralAnalysisService ANALYZED_FILES = GeneralAnalysisService._('ANALYZED_FILES'); /// A list containing all of the enum values that are defined. static const List VALUES = [ ANALYZED_FILES ]; @override final String name; const GeneralAnalysisService._(this.name); factory GeneralAnalysisService(String name) { switch (name) { case 'ANALYZED_FILES': return ANALYZED_FILES; } throw Exception('Illegal enum value: $name'); } factory GeneralAnalysisService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return GeneralAnalysisService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'GeneralAnalysisService', json); } @override String toString() => 'GeneralAnalysisService.$name'; String toJson() => name; } /// HoverInformation /// /// { /// "offset": int /// "length": int /// "containingLibraryPath": optional String /// "containingLibraryName": optional String /// "containingClassDescription": optional String /// "dartdoc": optional String /// "elementDescription": optional String /// "elementKind": optional String /// "isDeprecated": optional bool /// "parameter": optional String /// "propagatedType": optional String /// "staticType": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class HoverInformation implements HasToJson { int _offset; int _length; String _containingLibraryPath; String _containingLibraryName; String _containingClassDescription; String _dartdoc; String _elementDescription; String _elementKind; bool _isDeprecated; String _parameter; String _propagatedType; String _staticType; /// The offset of the range of characters that encompasses the cursor /// position and has the same hover information as the cursor position. int get offset => _offset; /// The offset of the range of characters that encompasses the cursor /// position and has the same hover information as the cursor position. set offset(int value) { assert(value != null); _offset = value; } /// The length of the range of characters that encompasses the cursor /// position and has the same hover information as the cursor position. int get length => _length; /// The length of the range of characters that encompasses the cursor /// position and has the same hover information as the cursor position. set length(int value) { assert(value != null); _length = value; } /// The path to the defining compilation unit of the library in which the /// referenced element is declared. This data is omitted if there is no /// referenced element, or if the element is declared inside an HTML file. String get containingLibraryPath => _containingLibraryPath; /// The path to the defining compilation unit of the library in which the /// referenced element is declared. This data is omitted if there is no /// referenced element, or if the element is declared inside an HTML file. set containingLibraryPath(String value) { _containingLibraryPath = value; } /// The URI of the containing library, examples here include "dart:core", /// "package:.." and file uris represented by the path on disk, "/..". The /// data is omitted if the element is declared inside an HTML file. String get containingLibraryName => _containingLibraryName; /// The URI of the containing library, examples here include "dart:core", /// "package:.." and file uris represented by the path on disk, "/..". The /// data is omitted if the element is declared inside an HTML file. set containingLibraryName(String value) { _containingLibraryName = value; } /// A human-readable description of the class declaring the element being /// referenced. This data is omitted if there is no referenced element, or if /// the element is not a class member. String get containingClassDescription => _containingClassDescription; /// A human-readable description of the class declaring the element being /// referenced. This data is omitted if there is no referenced element, or if /// the element is not a class member. set containingClassDescription(String value) { _containingClassDescription = value; } /// The dartdoc associated with the referenced element. Other than the /// removal of the comment delimiters, including leading asterisks in the /// case of a block comment, the dartdoc is unprocessed markdown. This data /// is omitted if there is no referenced element, or if the element has no /// dartdoc. String get dartdoc => _dartdoc; /// The dartdoc associated with the referenced element. Other than the /// removal of the comment delimiters, including leading asterisks in the /// case of a block comment, the dartdoc is unprocessed markdown. This data /// is omitted if there is no referenced element, or if the element has no /// dartdoc. set dartdoc(String value) { _dartdoc = value; } /// A human-readable description of the element being referenced. This data /// is omitted if there is no referenced element. String get elementDescription => _elementDescription; /// A human-readable description of the element being referenced. This data /// is omitted if there is no referenced element. set elementDescription(String value) { _elementDescription = value; } /// A human-readable description of the kind of element being referenced /// (such as "class" or "function type alias"). This data is omitted if there /// is no referenced element. String get elementKind => _elementKind; /// A human-readable description of the kind of element being referenced /// (such as "class" or "function type alias"). This data is omitted if there /// is no referenced element. set elementKind(String value) { _elementKind = value; } /// True if the referenced element is deprecated. bool get isDeprecated => _isDeprecated; /// True if the referenced element is deprecated. set isDeprecated(bool value) { _isDeprecated = value; } /// A human-readable description of the parameter corresponding to the /// expression being hovered over. This data is omitted if the location is /// not in an argument to a function. String get parameter => _parameter; /// A human-readable description of the parameter corresponding to the /// expression being hovered over. This data is omitted if the location is /// not in an argument to a function. set parameter(String value) { _parameter = value; } /// The name of the propagated type of the expression. This data is omitted /// if the location does not correspond to an expression or if there is no /// propagated type information. String get propagatedType => _propagatedType; /// The name of the propagated type of the expression. This data is omitted /// if the location does not correspond to an expression or if there is no /// propagated type information. set propagatedType(String value) { _propagatedType = value; } /// The name of the static type of the expression. This data is omitted if /// the location does not correspond to an expression. String get staticType => _staticType; /// The name of the static type of the expression. This data is omitted if /// the location does not correspond to an expression. set staticType(String value) { _staticType = value; } HoverInformation(int offset, int length, {String containingLibraryPath, String containingLibraryName, String containingClassDescription, String dartdoc, String elementDescription, String elementKind, bool isDeprecated, String parameter, String propagatedType, String staticType}) { this.offset = offset; this.length = length; this.containingLibraryPath = containingLibraryPath; this.containingLibraryName = containingLibraryName; this.containingClassDescription = containingClassDescription; this.dartdoc = dartdoc; this.elementDescription = elementDescription; this.elementKind = elementKind; this.isDeprecated = isDeprecated; this.parameter = parameter; this.propagatedType = propagatedType; this.staticType = staticType; } factory HoverInformation.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } String containingLibraryPath; if (json.containsKey('containingLibraryPath')) { containingLibraryPath = jsonDecoder.decodeString( jsonPath + '.containingLibraryPath', json['containingLibraryPath']); } String containingLibraryName; if (json.containsKey('containingLibraryName')) { containingLibraryName = jsonDecoder.decodeString( jsonPath + '.containingLibraryName', json['containingLibraryName']); } String containingClassDescription; if (json.containsKey('containingClassDescription')) { containingClassDescription = jsonDecoder.decodeString( jsonPath + '.containingClassDescription', json['containingClassDescription']); } String dartdoc; if (json.containsKey('dartdoc')) { dartdoc = jsonDecoder.decodeString(jsonPath + '.dartdoc', json['dartdoc']); } String elementDescription; if (json.containsKey('elementDescription')) { elementDescription = jsonDecoder.decodeString( jsonPath + '.elementDescription', json['elementDescription']); } String elementKind; if (json.containsKey('elementKind')) { elementKind = jsonDecoder.decodeString( jsonPath + '.elementKind', json['elementKind']); } bool isDeprecated; if (json.containsKey('isDeprecated')) { isDeprecated = jsonDecoder.decodeBool( jsonPath + '.isDeprecated', json['isDeprecated']); } String parameter; if (json.containsKey('parameter')) { parameter = jsonDecoder.decodeString( jsonPath + '.parameter', json['parameter']); } String propagatedType; if (json.containsKey('propagatedType')) { propagatedType = jsonDecoder.decodeString( jsonPath + '.propagatedType', json['propagatedType']); } String staticType; if (json.containsKey('staticType')) { staticType = jsonDecoder.decodeString( jsonPath + '.staticType', json['staticType']); } return HoverInformation(offset, length, containingLibraryPath: containingLibraryPath, containingLibraryName: containingLibraryName, containingClassDescription: containingClassDescription, dartdoc: dartdoc, elementDescription: elementDescription, elementKind: elementKind, isDeprecated: isDeprecated, parameter: parameter, propagatedType: propagatedType, staticType: staticType); } else { throw jsonDecoder.mismatch(jsonPath, 'HoverInformation', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; if (containingLibraryPath != null) { result['containingLibraryPath'] = containingLibraryPath; } if (containingLibraryName != null) { result['containingLibraryName'] = containingLibraryName; } if (containingClassDescription != null) { result['containingClassDescription'] = containingClassDescription; } if (dartdoc != null) { result['dartdoc'] = dartdoc; } if (elementDescription != null) { result['elementDescription'] = elementDescription; } if (elementKind != null) { result['elementKind'] = elementKind; } if (isDeprecated != null) { result['isDeprecated'] = isDeprecated; } if (parameter != null) { result['parameter'] = parameter; } if (propagatedType != null) { result['propagatedType'] = propagatedType; } if (staticType != null) { result['staticType'] = staticType; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is HoverInformation) { return offset == other.offset && length == other.length && containingLibraryPath == other.containingLibraryPath && containingLibraryName == other.containingLibraryName && containingClassDescription == other.containingClassDescription && dartdoc == other.dartdoc && elementDescription == other.elementDescription && elementKind == other.elementKind && isDeprecated == other.isDeprecated && parameter == other.parameter && propagatedType == other.propagatedType && staticType == other.staticType; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, containingLibraryPath.hashCode); hash = JenkinsSmiHash.combine(hash, containingLibraryName.hashCode); hash = JenkinsSmiHash.combine(hash, containingClassDescription.hashCode); hash = JenkinsSmiHash.combine(hash, dartdoc.hashCode); hash = JenkinsSmiHash.combine(hash, elementDescription.hashCode); hash = JenkinsSmiHash.combine(hash, elementKind.hashCode); hash = JenkinsSmiHash.combine(hash, isDeprecated.hashCode); hash = JenkinsSmiHash.combine(hash, parameter.hashCode); hash = JenkinsSmiHash.combine(hash, propagatedType.hashCode); hash = JenkinsSmiHash.combine(hash, staticType.hashCode); return JenkinsSmiHash.finish(hash); } } /// ImplementedClass /// /// { /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class ImplementedClass implements HasToJson { int _offset; int _length; /// The offset of the name of the implemented class. int get offset => _offset; /// The offset of the name of the implemented class. set offset(int value) { assert(value != null); _offset = value; } /// The length of the name of the implemented class. int get length => _length; /// The length of the name of the implemented class. set length(int value) { assert(value != null); _length = value; } ImplementedClass(int offset, int length) { this.offset = offset; this.length = length; } factory ImplementedClass.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return ImplementedClass(offset, length); } else { throw jsonDecoder.mismatch(jsonPath, 'ImplementedClass', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ImplementedClass) { return offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// ImplementedMember /// /// { /// "offset": int /// "length": int /// } /// /// Clients may not extend, implement or mix-in this class. class ImplementedMember implements HasToJson { int _offset; int _length; /// The offset of the name of the implemented member. int get offset => _offset; /// The offset of the name of the implemented member. set offset(int value) { assert(value != null); _offset = value; } /// The length of the name of the implemented member. int get length => _length; /// The length of the name of the implemented member. set length(int value) { assert(value != null); _length = value; } ImplementedMember(int offset, int length) { this.offset = offset; this.length = length; } factory ImplementedMember.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } return ImplementedMember(offset, length); } else { throw jsonDecoder.mismatch(jsonPath, 'ImplementedMember', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ImplementedMember) { return offset == other.offset && length == other.length; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); return JenkinsSmiHash.finish(hash); } } /// ImportedElementSet /// /// { /// "strings": List /// "uris": List /// "names": List /// } /// /// Clients may not extend, implement or mix-in this class. class ImportedElementSet implements HasToJson { List _strings; List _uris; List _names; /// The list of unique strings in this object. List get strings => _strings; /// The list of unique strings in this object. set strings(List value) { assert(value != null); _strings = value; } /// The library URI part of the element. It is an index in the strings field. List get uris => _uris; /// The library URI part of the element. It is an index in the strings field. set uris(List value) { assert(value != null); _uris = value; } /// The name part of a the element. It is an index in the strings field. List get names => _names; /// The name part of a the element. It is an index in the strings field. set names(List value) { assert(value != null); _names = value; } ImportedElementSet(List strings, List uris, List names) { this.strings = strings; this.uris = uris; this.names = names; } factory ImportedElementSet.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List strings; if (json.containsKey('strings')) { strings = jsonDecoder.decodeList( jsonPath + '.strings', json['strings'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'strings'); } List uris; if (json.containsKey('uris')) { uris = jsonDecoder.decodeList( jsonPath + '.uris', json['uris'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'uris'); } List names; if (json.containsKey('names')) { names = jsonDecoder.decodeList( jsonPath + '.names', json['names'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'names'); } return ImportedElementSet(strings, uris, names); } else { throw jsonDecoder.mismatch(jsonPath, 'ImportedElementSet', json); } } @override Map toJson() { var result = {}; result['strings'] = strings; result['uris'] = uris; result['names'] = names; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ImportedElementSet) { return listEqual( strings, other.strings, (String a, String b) => a == b) && listEqual(uris, other.uris, (int a, int b) => a == b) && listEqual(names, other.names, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, strings.hashCode); hash = JenkinsSmiHash.combine(hash, uris.hashCode); hash = JenkinsSmiHash.combine(hash, names.hashCode); return JenkinsSmiHash.finish(hash); } } /// ImportedElements /// /// { /// "path": FilePath /// "prefix": String /// "elements": List /// } /// /// Clients may not extend, implement or mix-in this class. class ImportedElements implements HasToJson { String _path; String _prefix; List _elements; /// The absolute and normalized path of the file containing the library. String get path => _path; /// The absolute and normalized path of the file containing the library. set path(String value) { assert(value != null); _path = value; } /// The prefix that was used when importing the library into the original /// source. String get prefix => _prefix; /// The prefix that was used when importing the library into the original /// source. set prefix(String value) { assert(value != null); _prefix = value; } /// The names of the elements imported from the library. List get elements => _elements; /// The names of the elements imported from the library. set elements(List value) { assert(value != null); _elements = value; } ImportedElements(String path, String prefix, List elements) { this.path = path; this.prefix = prefix; this.elements = elements; } factory ImportedElements.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String path; if (json.containsKey('path')) { path = jsonDecoder.decodeString(jsonPath + '.path', json['path']); } else { throw jsonDecoder.mismatch(jsonPath, 'path'); } String prefix; if (json.containsKey('prefix')) { prefix = jsonDecoder.decodeString(jsonPath + '.prefix', json['prefix']); } else { throw jsonDecoder.mismatch(jsonPath, 'prefix'); } List elements; if (json.containsKey('elements')) { elements = jsonDecoder.decodeList( jsonPath + '.elements', json['elements'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'elements'); } return ImportedElements(path, prefix, elements); } else { throw jsonDecoder.mismatch(jsonPath, 'ImportedElements', json); } } @override Map toJson() { var result = {}; result['path'] = path; result['prefix'] = prefix; result['elements'] = elements; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ImportedElements) { return path == other.path && prefix == other.prefix && listEqual(elements, other.elements, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, path.hashCode); hash = JenkinsSmiHash.combine(hash, prefix.hashCode); hash = JenkinsSmiHash.combine(hash, elements.hashCode); return JenkinsSmiHash.finish(hash); } } /// IncludedSuggestionRelevanceTag /// /// { /// "tag": AvailableSuggestionRelevanceTag /// "relevanceBoost": int /// } /// /// Clients may not extend, implement or mix-in this class. class IncludedSuggestionRelevanceTag implements HasToJson { String _tag; int _relevanceBoost; /// The opaque value of the tag. String get tag => _tag; /// The opaque value of the tag. set tag(String value) { assert(value != null); _tag = value; } /// The boost to the relevance of the completion suggestions that match this /// tag, which is added to the relevance of the containing /// IncludedSuggestionSet. int get relevanceBoost => _relevanceBoost; /// The boost to the relevance of the completion suggestions that match this /// tag, which is added to the relevance of the containing /// IncludedSuggestionSet. set relevanceBoost(int value) { assert(value != null); _relevanceBoost = value; } IncludedSuggestionRelevanceTag(String tag, int relevanceBoost) { this.tag = tag; this.relevanceBoost = relevanceBoost; } factory IncludedSuggestionRelevanceTag.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String tag; if (json.containsKey('tag')) { tag = jsonDecoder.decodeString(jsonPath + '.tag', json['tag']); } else { throw jsonDecoder.mismatch(jsonPath, 'tag'); } int relevanceBoost; if (json.containsKey('relevanceBoost')) { relevanceBoost = jsonDecoder.decodeInt( jsonPath + '.relevanceBoost', json['relevanceBoost']); } else { throw jsonDecoder.mismatch(jsonPath, 'relevanceBoost'); } return IncludedSuggestionRelevanceTag(tag, relevanceBoost); } else { throw jsonDecoder.mismatch( jsonPath, 'IncludedSuggestionRelevanceTag', json); } } @override Map toJson() { var result = {}; result['tag'] = tag; result['relevanceBoost'] = relevanceBoost; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is IncludedSuggestionRelevanceTag) { return tag == other.tag && relevanceBoost == other.relevanceBoost; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, tag.hashCode); hash = JenkinsSmiHash.combine(hash, relevanceBoost.hashCode); return JenkinsSmiHash.finish(hash); } } /// IncludedSuggestionSet /// /// { /// "id": int /// "relevance": int /// "displayUri": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class IncludedSuggestionSet implements HasToJson { int _id; int _relevance; String _displayUri; /// Clients should use it to access the set of precomputed completions to be /// displayed to the user. int get id => _id; /// Clients should use it to access the set of precomputed completions to be /// displayed to the user. set id(int value) { assert(value != null); _id = value; } /// The relevance of completion suggestions from this library where a higher /// number indicates a higher relevance. int get relevance => _relevance; /// The relevance of completion suggestions from this library where a higher /// number indicates a higher relevance. set relevance(int value) { assert(value != null); _relevance = value; } /// The optional string that should be displayed instead of the uri of the /// referenced AvailableSuggestionSet. /// /// For example libraries in the "test" directory of a package have only /// "file://" URIs, so are usually long, and don't look nice, but actual /// import directives will use relative URIs, which are short, so we probably /// want to display such relative URIs to the user. String get displayUri => _displayUri; /// The optional string that should be displayed instead of the uri of the /// referenced AvailableSuggestionSet. /// /// For example libraries in the "test" directory of a package have only /// "file://" URIs, so are usually long, and don't look nice, but actual /// import directives will use relative URIs, which are short, so we probably /// want to display such relative URIs to the user. set displayUri(String value) { _displayUri = value; } IncludedSuggestionSet(int id, int relevance, {String displayUri}) { this.id = id; this.relevance = relevance; this.displayUri = displayUri; } factory IncludedSuggestionSet.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int id; if (json.containsKey('id')) { id = jsonDecoder.decodeInt(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } int relevance; if (json.containsKey('relevance')) { relevance = jsonDecoder.decodeInt(jsonPath + '.relevance', json['relevance']); } else { throw jsonDecoder.mismatch(jsonPath, 'relevance'); } String displayUri; if (json.containsKey('displayUri')) { displayUri = jsonDecoder.decodeString( jsonPath + '.displayUri', json['displayUri']); } return IncludedSuggestionSet(id, relevance, displayUri: displayUri); } else { throw jsonDecoder.mismatch(jsonPath, 'IncludedSuggestionSet', json); } } @override Map toJson() { var result = {}; result['id'] = id; result['relevance'] = relevance; if (displayUri != null) { result['displayUri'] = displayUri; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is IncludedSuggestionSet) { return id == other.id && relevance == other.relevance && displayUri == other.displayUri; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, relevance.hashCode); hash = JenkinsSmiHash.combine(hash, displayUri.hashCode); return JenkinsSmiHash.finish(hash); } } /// inlineLocalVariable feedback /// /// { /// "name": String /// "occurrences": int /// } /// /// Clients may not extend, implement or mix-in this class. class InlineLocalVariableFeedback extends RefactoringFeedback { String _name; int _occurrences; /// The name of the variable being inlined. String get name => _name; /// The name of the variable being inlined. set name(String value) { assert(value != null); _name = value; } /// The number of times the variable occurs. int get occurrences => _occurrences; /// The number of times the variable occurs. set occurrences(int value) { assert(value != null); _occurrences = value; } InlineLocalVariableFeedback(String name, int occurrences) { this.name = name; this.occurrences = occurrences; } factory InlineLocalVariableFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } int occurrences; if (json.containsKey('occurrences')) { occurrences = jsonDecoder.decodeInt( jsonPath + '.occurrences', json['occurrences']); } else { throw jsonDecoder.mismatch(jsonPath, 'occurrences'); } return InlineLocalVariableFeedback(name, occurrences); } else { throw jsonDecoder.mismatch( jsonPath, 'inlineLocalVariable feedback', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['occurrences'] = occurrences; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is InlineLocalVariableFeedback) { return name == other.name && occurrences == other.occurrences; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, occurrences.hashCode); return JenkinsSmiHash.finish(hash); } } /// inlineLocalVariable options /// /// Clients may not extend, implement or mix-in this class. class InlineLocalVariableOptions extends RefactoringOptions implements HasToJson { @override bool operator ==(other) { if (other is InlineLocalVariableOptions) { return true; } return false; } @override int get hashCode { return 540364977; } } /// inlineMethod feedback /// /// { /// "className": optional String /// "methodName": String /// "isDeclaration": bool /// } /// /// Clients may not extend, implement or mix-in this class. class InlineMethodFeedback extends RefactoringFeedback { String _className; String _methodName; bool _isDeclaration; /// The name of the class enclosing the method being inlined. If not a class /// member is being inlined, this field will be absent. String get className => _className; /// The name of the class enclosing the method being inlined. If not a class /// member is being inlined, this field will be absent. set className(String value) { _className = value; } /// The name of the method (or function) being inlined. String get methodName => _methodName; /// The name of the method (or function) being inlined. set methodName(String value) { assert(value != null); _methodName = value; } /// True if the declaration of the method is selected. So all references /// should be inlined. bool get isDeclaration => _isDeclaration; /// True if the declaration of the method is selected. So all references /// should be inlined. set isDeclaration(bool value) { assert(value != null); _isDeclaration = value; } InlineMethodFeedback(String methodName, bool isDeclaration, {String className}) { this.className = className; this.methodName = methodName; this.isDeclaration = isDeclaration; } factory InlineMethodFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String className; if (json.containsKey('className')) { className = jsonDecoder.decodeString( jsonPath + '.className', json['className']); } String methodName; if (json.containsKey('methodName')) { methodName = jsonDecoder.decodeString( jsonPath + '.methodName', json['methodName']); } else { throw jsonDecoder.mismatch(jsonPath, 'methodName'); } bool isDeclaration; if (json.containsKey('isDeclaration')) { isDeclaration = jsonDecoder.decodeBool( jsonPath + '.isDeclaration', json['isDeclaration']); } else { throw jsonDecoder.mismatch(jsonPath, 'isDeclaration'); } return InlineMethodFeedback(methodName, isDeclaration, className: className); } else { throw jsonDecoder.mismatch(jsonPath, 'inlineMethod feedback', json); } } @override Map toJson() { var result = {}; if (className != null) { result['className'] = className; } result['methodName'] = methodName; result['isDeclaration'] = isDeclaration; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is InlineMethodFeedback) { return className == other.className && methodName == other.methodName && isDeclaration == other.isDeclaration; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, className.hashCode); hash = JenkinsSmiHash.combine(hash, methodName.hashCode); hash = JenkinsSmiHash.combine(hash, isDeclaration.hashCode); return JenkinsSmiHash.finish(hash); } } /// inlineMethod options /// /// { /// "deleteSource": bool /// "inlineAll": bool /// } /// /// Clients may not extend, implement or mix-in this class. class InlineMethodOptions extends RefactoringOptions { bool _deleteSource; bool _inlineAll; /// True if the method being inlined should be removed. It is an error if /// this field is true and inlineAll is false. bool get deleteSource => _deleteSource; /// True if the method being inlined should be removed. It is an error if /// this field is true and inlineAll is false. set deleteSource(bool value) { assert(value != null); _deleteSource = value; } /// True if all invocations of the method should be inlined, or false if only /// the invocation site used to create this refactoring should be inlined. bool get inlineAll => _inlineAll; /// True if all invocations of the method should be inlined, or false if only /// the invocation site used to create this refactoring should be inlined. set inlineAll(bool value) { assert(value != null); _inlineAll = value; } InlineMethodOptions(bool deleteSource, bool inlineAll) { this.deleteSource = deleteSource; this.inlineAll = inlineAll; } factory InlineMethodOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool deleteSource; if (json.containsKey('deleteSource')) { deleteSource = jsonDecoder.decodeBool( jsonPath + '.deleteSource', json['deleteSource']); } else { throw jsonDecoder.mismatch(jsonPath, 'deleteSource'); } bool inlineAll; if (json.containsKey('inlineAll')) { inlineAll = jsonDecoder.decodeBool(jsonPath + '.inlineAll', json['inlineAll']); } else { throw jsonDecoder.mismatch(jsonPath, 'inlineAll'); } return InlineMethodOptions(deleteSource, inlineAll); } else { throw jsonDecoder.mismatch(jsonPath, 'inlineMethod options', json); } } factory InlineMethodOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return InlineMethodOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['deleteSource'] = deleteSource; result['inlineAll'] = inlineAll; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is InlineMethodOptions) { return deleteSource == other.deleteSource && inlineAll == other.inlineAll; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, deleteSource.hashCode); hash = JenkinsSmiHash.combine(hash, inlineAll.hashCode); return JenkinsSmiHash.finish(hash); } } /// kythe.getKytheEntries params /// /// { /// "file": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class KytheGetKytheEntriesParams implements RequestParams { String _file; /// The file containing the code for which the Kythe Entry objects are being /// requested. String get file => _file; /// The file containing the code for which the Kythe Entry objects are being /// requested. set file(String value) { assert(value != null); _file = value; } KytheGetKytheEntriesParams(String file) { this.file = file; } factory KytheGetKytheEntriesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } return KytheGetKytheEntriesParams(file); } else { throw jsonDecoder.mismatch( jsonPath, 'kythe.getKytheEntries params', json); } } factory KytheGetKytheEntriesParams.fromRequest(Request request) { return KytheGetKytheEntriesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; return result; } @override Request toRequest(String id) { return Request(id, 'kythe.getKytheEntries', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is KytheGetKytheEntriesParams) { return file == other.file; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); return JenkinsSmiHash.finish(hash); } } /// kythe.getKytheEntries result /// /// { /// "entries": List /// "files": List /// } /// /// Clients may not extend, implement or mix-in this class. class KytheGetKytheEntriesResult implements ResponseResult { List _entries; List _files; /// The list of KytheEntry objects for the queried file. List get entries => _entries; /// The list of KytheEntry objects for the queried file. set entries(List value) { assert(value != null); _entries = value; } /// The set of files paths that were required, but not in the file system, to /// give a complete and accurate Kythe graph for the file. This could be due /// to a referenced file that does not exist or generated files not being /// generated or passed before the call to "getKytheEntries". List get files => _files; /// The set of files paths that were required, but not in the file system, to /// give a complete and accurate Kythe graph for the file. This could be due /// to a referenced file that does not exist or generated files not being /// generated or passed before the call to "getKytheEntries". set files(List value) { assert(value != null); _files = value; } KytheGetKytheEntriesResult(List entries, List files) { this.entries = entries; this.files = files; } factory KytheGetKytheEntriesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List entries; if (json.containsKey('entries')) { entries = jsonDecoder.decodeList( jsonPath + '.entries', json['entries'], (String jsonPath, Object json) => KytheEntry.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'entries'); } List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return KytheGetKytheEntriesResult(entries, files); } else { throw jsonDecoder.mismatch( jsonPath, 'kythe.getKytheEntries result', json); } } factory KytheGetKytheEntriesResult.fromResponse(Response response) { return KytheGetKytheEntriesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['entries'] = entries.map((KytheEntry value) => value.toJson()).toList(); result['files'] = files; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is KytheGetKytheEntriesResult) { return listEqual( entries, other.entries, (KytheEntry a, KytheEntry b) => a == b) && listEqual(files, other.files, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, entries.hashCode); hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// LibraryPathSet /// /// { /// "scope": FilePath /// "libraryPaths": List /// } /// /// Clients may not extend, implement or mix-in this class. class LibraryPathSet implements HasToJson { String _scope; List _libraryPaths; /// The filepath for which this request's libraries should be active in /// completion suggestions. This object associates filesystem regions to /// libraries and library directories of interest to the client. String get scope => _scope; /// The filepath for which this request's libraries should be active in /// completion suggestions. This object associates filesystem regions to /// libraries and library directories of interest to the client. set scope(String value) { assert(value != null); _scope = value; } /// The paths of the libraries of interest to the client for completion /// suggestions. List get libraryPaths => _libraryPaths; /// The paths of the libraries of interest to the client for completion /// suggestions. set libraryPaths(List value) { assert(value != null); _libraryPaths = value; } LibraryPathSet(String scope, List libraryPaths) { this.scope = scope; this.libraryPaths = libraryPaths; } factory LibraryPathSet.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String scope; if (json.containsKey('scope')) { scope = jsonDecoder.decodeString(jsonPath + '.scope', json['scope']); } else { throw jsonDecoder.mismatch(jsonPath, 'scope'); } List libraryPaths; if (json.containsKey('libraryPaths')) { libraryPaths = jsonDecoder.decodeList(jsonPath + '.libraryPaths', json['libraryPaths'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'libraryPaths'); } return LibraryPathSet(scope, libraryPaths); } else { throw jsonDecoder.mismatch(jsonPath, 'LibraryPathSet', json); } } @override Map toJson() { var result = {}; result['scope'] = scope; result['libraryPaths'] = libraryPaths; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is LibraryPathSet) { return scope == other.scope && listEqual( libraryPaths, other.libraryPaths, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, scope.hashCode); hash = JenkinsSmiHash.combine(hash, libraryPaths.hashCode); return JenkinsSmiHash.finish(hash); } } /// moveFile feedback /// /// Clients may not extend, implement or mix-in this class. class MoveFileFeedback extends RefactoringFeedback implements HasToJson { @override bool operator ==(other) { if (other is MoveFileFeedback) { return true; } return false; } @override int get hashCode { return 438975893; } } /// moveFile options /// /// { /// "newFile": FilePath /// } /// /// Clients may not extend, implement or mix-in this class. class MoveFileOptions extends RefactoringOptions { String _newFile; /// The new file path to which the given file is being moved. String get newFile => _newFile; /// The new file path to which the given file is being moved. set newFile(String value) { assert(value != null); _newFile = value; } MoveFileOptions(String newFile) { this.newFile = newFile; } factory MoveFileOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String newFile; if (json.containsKey('newFile')) { newFile = jsonDecoder.decodeString(jsonPath + '.newFile', json['newFile']); } else { throw jsonDecoder.mismatch(jsonPath, 'newFile'); } return MoveFileOptions(newFile); } else { throw jsonDecoder.mismatch(jsonPath, 'moveFile options', json); } } factory MoveFileOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return MoveFileOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['newFile'] = newFile; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is MoveFileOptions) { return newFile == other.newFile; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, newFile.hashCode); return JenkinsSmiHash.finish(hash); } } /// OverriddenMember /// /// { /// "element": Element /// "className": String /// } /// /// Clients may not extend, implement or mix-in this class. class OverriddenMember implements HasToJson { Element _element; String _className; /// The element that is being overridden. Element get element => _element; /// The element that is being overridden. set element(Element value) { assert(value != null); _element = value; } /// The name of the class in which the member is defined. String get className => _className; /// The name of the class in which the member is defined. set className(String value) { assert(value != null); _className = value; } OverriddenMember(Element element, String className) { this.element = element; this.className = className; } factory OverriddenMember.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Element element; if (json.containsKey('element')) { element = Element.fromJson( jsonDecoder, jsonPath + '.element', json['element']); } else { throw jsonDecoder.mismatch(jsonPath, 'element'); } String className; if (json.containsKey('className')) { className = jsonDecoder.decodeString( jsonPath + '.className', json['className']); } else { throw jsonDecoder.mismatch(jsonPath, 'className'); } return OverriddenMember(element, className); } else { throw jsonDecoder.mismatch(jsonPath, 'OverriddenMember', json); } } @override Map toJson() { var result = {}; result['element'] = element.toJson(); result['className'] = className; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is OverriddenMember) { return element == other.element && className == other.className; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, element.hashCode); hash = JenkinsSmiHash.combine(hash, className.hashCode); return JenkinsSmiHash.finish(hash); } } /// Override /// /// { /// "offset": int /// "length": int /// "superclassMember": optional OverriddenMember /// "interfaceMembers": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class Override implements HasToJson { int _offset; int _length; OverriddenMember _superclassMember; List _interfaceMembers; /// The offset of the name of the overriding member. int get offset => _offset; /// The offset of the name of the overriding member. set offset(int value) { assert(value != null); _offset = value; } /// The length of the name of the overriding member. int get length => _length; /// The length of the name of the overriding member. set length(int value) { assert(value != null); _length = value; } /// The member inherited from a superclass that is overridden by the /// overriding member. The field is omitted if there is no superclass member, /// in which case there must be at least one interface member. OverriddenMember get superclassMember => _superclassMember; /// The member inherited from a superclass that is overridden by the /// overriding member. The field is omitted if there is no superclass member, /// in which case there must be at least one interface member. set superclassMember(OverriddenMember value) { _superclassMember = value; } /// The members inherited from interfaces that are overridden by the /// overriding member. The field is omitted if there are no interface /// members, in which case there must be a superclass member. List get interfaceMembers => _interfaceMembers; /// The members inherited from interfaces that are overridden by the /// overriding member. The field is omitted if there are no interface /// members, in which case there must be a superclass member. set interfaceMembers(List value) { _interfaceMembers = value; } Override(int offset, int length, {OverriddenMember superclassMember, List interfaceMembers}) { this.offset = offset; this.length = length; this.superclassMember = superclassMember; this.interfaceMembers = interfaceMembers; } factory Override.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } OverriddenMember superclassMember; if (json.containsKey('superclassMember')) { superclassMember = OverriddenMember.fromJson(jsonDecoder, jsonPath + '.superclassMember', json['superclassMember']); } List interfaceMembers; if (json.containsKey('interfaceMembers')) { interfaceMembers = jsonDecoder.decodeList( jsonPath + '.interfaceMembers', json['interfaceMembers'], (String jsonPath, Object json) => OverriddenMember.fromJson(jsonDecoder, jsonPath, json)); } return Override(offset, length, superclassMember: superclassMember, interfaceMembers: interfaceMembers); } else { throw jsonDecoder.mismatch(jsonPath, 'Override', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; if (superclassMember != null) { result['superclassMember'] = superclassMember.toJson(); } if (interfaceMembers != null) { result['interfaceMembers'] = interfaceMembers .map((OverriddenMember value) => value.toJson()) .toList(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is Override) { return offset == other.offset && length == other.length && superclassMember == other.superclassMember && listEqual(interfaceMembers, other.interfaceMembers, (OverriddenMember a, OverriddenMember b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, superclassMember.hashCode); hash = JenkinsSmiHash.combine(hash, interfaceMembers.hashCode); return JenkinsSmiHash.finish(hash); } } /// PostfixTemplateDescriptor /// /// { /// "name": String /// "key": String /// "example": String /// } /// /// Clients may not extend, implement or mix-in this class. class PostfixTemplateDescriptor implements HasToJson { String _name; String _key; String _example; /// The template name, shown in the UI. String get name => _name; /// The template name, shown in the UI. set name(String value) { assert(value != null); _name = value; } /// The unique template key, not shown in the UI. String get key => _key; /// The unique template key, not shown in the UI. set key(String value) { assert(value != null); _key = value; } /// A short example of the transformation performed when the template is /// applied. String get example => _example; /// A short example of the transformation performed when the template is /// applied. set example(String value) { assert(value != null); _example = value; } PostfixTemplateDescriptor(String name, String key, String example) { this.name = name; this.key = key; this.example = example; } factory PostfixTemplateDescriptor.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } String key; if (json.containsKey('key')) { key = jsonDecoder.decodeString(jsonPath + '.key', json['key']); } else { throw jsonDecoder.mismatch(jsonPath, 'key'); } String example; if (json.containsKey('example')) { example = jsonDecoder.decodeString(jsonPath + '.example', json['example']); } else { throw jsonDecoder.mismatch(jsonPath, 'example'); } return PostfixTemplateDescriptor(name, key, example); } else { throw jsonDecoder.mismatch(jsonPath, 'PostfixTemplateDescriptor', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['key'] = key; result['example'] = example; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is PostfixTemplateDescriptor) { return name == other.name && key == other.key && example == other.example; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, key.hashCode); hash = JenkinsSmiHash.combine(hash, example.hashCode); return JenkinsSmiHash.finish(hash); } } /// PubStatus /// /// { /// "isListingPackageDirs": bool /// } /// /// Clients may not extend, implement or mix-in this class. class PubStatus implements HasToJson { bool _isListingPackageDirs; /// True if the server is currently running pub to produce a list of package /// directories. bool get isListingPackageDirs => _isListingPackageDirs; /// True if the server is currently running pub to produce a list of package /// directories. set isListingPackageDirs(bool value) { assert(value != null); _isListingPackageDirs = value; } PubStatus(bool isListingPackageDirs) { this.isListingPackageDirs = isListingPackageDirs; } factory PubStatus.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool isListingPackageDirs; if (json.containsKey('isListingPackageDirs')) { isListingPackageDirs = jsonDecoder.decodeBool( jsonPath + '.isListingPackageDirs', json['isListingPackageDirs']); } else { throw jsonDecoder.mismatch(jsonPath, 'isListingPackageDirs'); } return PubStatus(isListingPackageDirs); } else { throw jsonDecoder.mismatch(jsonPath, 'PubStatus', json); } } @override Map toJson() { var result = {}; result['isListingPackageDirs'] = isListingPackageDirs; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is PubStatus) { return isListingPackageDirs == other.isListingPackageDirs; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, isListingPackageDirs.hashCode); return JenkinsSmiHash.finish(hash); } } /// RefactoringFeedback /// /// { /// } /// /// Clients may not extend, implement or mix-in this class. class RefactoringFeedback implements HasToJson { RefactoringFeedback(); factory RefactoringFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json, Map responseJson) { return refactoringFeedbackFromJson( jsonDecoder, jsonPath, json, responseJson); } @override Map toJson() { var result = {}; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RefactoringFeedback) { return true; } return false; } @override int get hashCode { var hash = 0; return JenkinsSmiHash.finish(hash); } } /// RefactoringOptions /// /// { /// } /// /// Clients may not extend, implement or mix-in this class. class RefactoringOptions implements HasToJson { RefactoringOptions(); factory RefactoringOptions.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json, RefactoringKind kind) { return refactoringOptionsFromJson(jsonDecoder, jsonPath, json, kind); } @override Map toJson() { var result = {}; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RefactoringOptions) { return true; } return false; } @override int get hashCode { var hash = 0; return JenkinsSmiHash.finish(hash); } } /// rename feedback /// /// { /// "offset": int /// "length": int /// "elementKindName": String /// "oldName": String /// } /// /// Clients may not extend, implement or mix-in this class. class RenameFeedback extends RefactoringFeedback { int _offset; int _length; String _elementKindName; String _oldName; /// The offset to the beginning of the name selected to be renamed, or -1 if /// the name does not exist yet. int get offset => _offset; /// The offset to the beginning of the name selected to be renamed, or -1 if /// the name does not exist yet. set offset(int value) { assert(value != null); _offset = value; } /// The length of the name selected to be renamed. int get length => _length; /// The length of the name selected to be renamed. set length(int value) { assert(value != null); _length = value; } /// The human-readable description of the kind of element being renamed (such /// as "class" or "function type alias"). String get elementKindName => _elementKindName; /// The human-readable description of the kind of element being renamed (such /// as "class" or "function type alias"). set elementKindName(String value) { assert(value != null); _elementKindName = value; } /// The old name of the element before the refactoring. String get oldName => _oldName; /// The old name of the element before the refactoring. set oldName(String value) { assert(value != null); _oldName = value; } RenameFeedback( int offset, int length, String elementKindName, String oldName) { this.offset = offset; this.length = length; this.elementKindName = elementKindName; this.oldName = oldName; } factory RenameFeedback.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } String elementKindName; if (json.containsKey('elementKindName')) { elementKindName = jsonDecoder.decodeString( jsonPath + '.elementKindName', json['elementKindName']); } else { throw jsonDecoder.mismatch(jsonPath, 'elementKindName'); } String oldName; if (json.containsKey('oldName')) { oldName = jsonDecoder.decodeString(jsonPath + '.oldName', json['oldName']); } else { throw jsonDecoder.mismatch(jsonPath, 'oldName'); } return RenameFeedback(offset, length, elementKindName, oldName); } else { throw jsonDecoder.mismatch(jsonPath, 'rename feedback', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; result['elementKindName'] = elementKindName; result['oldName'] = oldName; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RenameFeedback) { return offset == other.offset && length == other.length && elementKindName == other.elementKindName && oldName == other.oldName; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, elementKindName.hashCode); hash = JenkinsSmiHash.combine(hash, oldName.hashCode); return JenkinsSmiHash.finish(hash); } } /// rename options /// /// { /// "newName": String /// } /// /// Clients may not extend, implement or mix-in this class. class RenameOptions extends RefactoringOptions { String _newName; /// The name that the element should have after the refactoring. String get newName => _newName; /// The name that the element should have after the refactoring. set newName(String value) { assert(value != null); _newName = value; } RenameOptions(String newName) { this.newName = newName; } factory RenameOptions.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String newName; if (json.containsKey('newName')) { newName = jsonDecoder.decodeString(jsonPath + '.newName', json['newName']); } else { throw jsonDecoder.mismatch(jsonPath, 'newName'); } return RenameOptions(newName); } else { throw jsonDecoder.mismatch(jsonPath, 'rename options', json); } } factory RenameOptions.fromRefactoringParams( EditGetRefactoringParams refactoringParams, Request request) { return RenameOptions.fromJson( RequestDecoder(request), 'options', refactoringParams.options); } @override Map toJson() { var result = {}; result['newName'] = newName; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RenameOptions) { return newName == other.newName; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, newName.hashCode); return JenkinsSmiHash.finish(hash); } } /// RequestError /// /// { /// "code": RequestErrorCode /// "message": String /// "stackTrace": optional String /// } /// /// Clients may not extend, implement or mix-in this class. class RequestError implements HasToJson { RequestErrorCode _code; String _message; String _stackTrace; /// A code that uniquely identifies the error that occurred. RequestErrorCode get code => _code; /// A code that uniquely identifies the error that occurred. set code(RequestErrorCode value) { assert(value != null); _code = value; } /// A short description of the error. String get message => _message; /// A short description of the error. set message(String value) { assert(value != null); _message = value; } /// The stack trace associated with processing the request, used for /// debugging the server. String get stackTrace => _stackTrace; /// The stack trace associated with processing the request, used for /// debugging the server. set stackTrace(String value) { _stackTrace = value; } RequestError(RequestErrorCode code, String message, {String stackTrace}) { this.code = code; this.message = message; this.stackTrace = stackTrace; } factory RequestError.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { RequestErrorCode code; if (json.containsKey('code')) { code = RequestErrorCode.fromJson( jsonDecoder, jsonPath + '.code', json['code']); } else { throw jsonDecoder.mismatch(jsonPath, 'code'); } String message; if (json.containsKey('message')) { message = jsonDecoder.decodeString(jsonPath + '.message', json['message']); } else { throw jsonDecoder.mismatch(jsonPath, 'message'); } String stackTrace; if (json.containsKey('stackTrace')) { stackTrace = jsonDecoder.decodeString( jsonPath + '.stackTrace', json['stackTrace']); } return RequestError(code, message, stackTrace: stackTrace); } else { throw jsonDecoder.mismatch(jsonPath, 'RequestError', json); } } @override Map toJson() { var result = {}; result['code'] = code.toJson(); result['message'] = message; if (stackTrace != null) { result['stackTrace'] = stackTrace; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RequestError) { return code == other.code && message == other.message && stackTrace == other.stackTrace; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, code.hashCode); hash = JenkinsSmiHash.combine(hash, message.hashCode); hash = JenkinsSmiHash.combine(hash, stackTrace.hashCode); return JenkinsSmiHash.finish(hash); } } /// RequestErrorCode /// /// enum { /// CONTENT_MODIFIED /// DEBUG_PORT_COULD_NOT_BE_OPENED /// FILE_NOT_ANALYZED /// FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED /// FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID /// FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED /// FORMAT_INVALID_FILE /// FORMAT_WITH_ERRORS /// GET_ERRORS_INVALID_FILE /// GET_FIXES_INVALID_FILE /// GET_IMPORTED_ELEMENTS_INVALID_FILE /// GET_KYTHE_ENTRIES_INVALID_FILE /// GET_NAVIGATION_INVALID_FILE /// GET_REACHABLE_SOURCES_INVALID_FILE /// GET_SIGNATURE_INVALID_FILE /// GET_SIGNATURE_INVALID_OFFSET /// GET_SIGNATURE_UNKNOWN_FUNCTION /// IMPORT_ELEMENTS_INVALID_FILE /// INVALID_ANALYSIS_ROOT /// INVALID_EXECUTION_CONTEXT /// INVALID_FILE_PATH_FORMAT /// INVALID_OVERLAY_CHANGE /// INVALID_PARAMETER /// INVALID_REQUEST /// ORGANIZE_DIRECTIVES_ERROR /// REFACTORING_REQUEST_CANCELLED /// SERVER_ALREADY_STARTED /// SERVER_ERROR /// SORT_MEMBERS_INVALID_FILE /// SORT_MEMBERS_PARSE_ERRORS /// UNKNOWN_FIX /// UNKNOWN_REQUEST /// UNSUPPORTED_FEATURE /// } /// /// Clients may not extend, implement or mix-in this class. class RequestErrorCode implements Enum { /// An "analysis.getErrors" or "analysis.getNavigation" request could not be /// satisfied because the content of the file changed before the requested /// results could be computed. static const RequestErrorCode CONTENT_MODIFIED = RequestErrorCode._('CONTENT_MODIFIED'); /// The server was unable to open a port for the diagnostic server. static const RequestErrorCode DEBUG_PORT_COULD_NOT_BE_OPENED = RequestErrorCode._('DEBUG_PORT_COULD_NOT_BE_OPENED'); /// A request specified a FilePath which does not match a file in an analysis /// root, or the requested operation is not available for the file. static const RequestErrorCode FILE_NOT_ANALYZED = RequestErrorCode._('FILE_NOT_ANALYZED'); /// A file was change while widget descriptions were being computed. static const RequestErrorCode FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED = RequestErrorCode._('FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED'); /// The given location does not have a supported widget. static const RequestErrorCode FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET = RequestErrorCode._('FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET'); /// The given property expression is invalid, e.g. has a syntax error. static const RequestErrorCode FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION = RequestErrorCode._( 'FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION'); /// The given property identifier is not valid. It might have never been /// valid, or a change to code invalidated it, or its TTL was exceeded. static const RequestErrorCode FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID = RequestErrorCode._('FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID'); /// The value of the property cannot be removed, for example because the /// corresponding constructor argument is required, and the server does not /// know what default value to use. static const RequestErrorCode FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED = RequestErrorCode._('FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED'); /// An "edit.format" request specified a FilePath which does not match a Dart /// file in an analysis root. static const RequestErrorCode FORMAT_INVALID_FILE = RequestErrorCode._('FORMAT_INVALID_FILE'); /// An "edit.format" request specified a file that contains syntax errors. static const RequestErrorCode FORMAT_WITH_ERRORS = RequestErrorCode._('FORMAT_WITH_ERRORS'); /// An "analysis.getErrors" request specified a FilePath which does not match /// a file currently subject to analysis. static const RequestErrorCode GET_ERRORS_INVALID_FILE = RequestErrorCode._('GET_ERRORS_INVALID_FILE'); /// An "edit.getFixes" request specified a FilePath which does not match a /// file currently subject to analysis. static const RequestErrorCode GET_FIXES_INVALID_FILE = RequestErrorCode._('GET_FIXES_INVALID_FILE'); /// An "analysis.getImportedElements" request specified a FilePath that does /// not match a file currently subject to analysis. static const RequestErrorCode GET_IMPORTED_ELEMENTS_INVALID_FILE = RequestErrorCode._('GET_IMPORTED_ELEMENTS_INVALID_FILE'); /// An "analysis.getKytheEntries" request specified a FilePath that does not /// match a file that is currently subject to analysis. static const RequestErrorCode GET_KYTHE_ENTRIES_INVALID_FILE = RequestErrorCode._('GET_KYTHE_ENTRIES_INVALID_FILE'); /// An "analysis.getNavigation" request specified a FilePath which does not /// match a file currently subject to analysis. static const RequestErrorCode GET_NAVIGATION_INVALID_FILE = RequestErrorCode._('GET_NAVIGATION_INVALID_FILE'); /// An "analysis.getReachableSources" request specified a FilePath which does /// not match a file currently subject to analysis. static const RequestErrorCode GET_REACHABLE_SOURCES_INVALID_FILE = RequestErrorCode._('GET_REACHABLE_SOURCES_INVALID_FILE'); /// An "analysis.getSignature" request specified a FilePath which does not /// match a file currently subject to analysis. static const RequestErrorCode GET_SIGNATURE_INVALID_FILE = RequestErrorCode._('GET_SIGNATURE_INVALID_FILE'); /// An "analysis.getSignature" request specified an offset which is not a /// valid location within for the contents of the file specified FilePath. static const RequestErrorCode GET_SIGNATURE_INVALID_OFFSET = RequestErrorCode._('GET_SIGNATURE_INVALID_OFFSET'); /// An "analysis.getSignature" request specified an offset that could not be /// matched to a function call. static const RequestErrorCode GET_SIGNATURE_UNKNOWN_FUNCTION = RequestErrorCode._('GET_SIGNATURE_UNKNOWN_FUNCTION'); /// An "edit.importElements" request specified a FilePath that does not match /// a file currently subject to analysis. static const RequestErrorCode IMPORT_ELEMENTS_INVALID_FILE = RequestErrorCode._('IMPORT_ELEMENTS_INVALID_FILE'); /// A path passed as an argument to a request (such as analysis.reanalyze) is /// required to be an analysis root, but isn't. static const RequestErrorCode INVALID_ANALYSIS_ROOT = RequestErrorCode._('INVALID_ANALYSIS_ROOT'); /// The context root used to create an execution context does not exist. static const RequestErrorCode INVALID_EXECUTION_CONTEXT = RequestErrorCode._('INVALID_EXECUTION_CONTEXT'); /// The format of the given file path is invalid, e.g. is not absolute and /// normalized. static const RequestErrorCode INVALID_FILE_PATH_FORMAT = RequestErrorCode._('INVALID_FILE_PATH_FORMAT'); /// An "analysis.updateContent" request contained a ChangeContentOverlay /// object which can't be applied, due to an edit having an offset or length /// that is out of range. static const RequestErrorCode INVALID_OVERLAY_CHANGE = RequestErrorCode._('INVALID_OVERLAY_CHANGE'); /// One of the method parameters was invalid. static const RequestErrorCode INVALID_PARAMETER = RequestErrorCode._('INVALID_PARAMETER'); /// A malformed request was received. static const RequestErrorCode INVALID_REQUEST = RequestErrorCode._('INVALID_REQUEST'); /// An "edit.organizeDirectives" request specified a Dart file that cannot be /// analyzed. The reason is described in the message. static const RequestErrorCode ORGANIZE_DIRECTIVES_ERROR = RequestErrorCode._('ORGANIZE_DIRECTIVES_ERROR'); /// Another refactoring request was received during processing of this one. static const RequestErrorCode REFACTORING_REQUEST_CANCELLED = RequestErrorCode._('REFACTORING_REQUEST_CANCELLED'); /// The analysis server has already been started (and hence won't accept new /// connections). /// /// This error is included for future expansion; at present the analysis /// server can only speak to one client at a time so this error will never /// occur. static const RequestErrorCode SERVER_ALREADY_STARTED = RequestErrorCode._('SERVER_ALREADY_STARTED'); /// An internal error occurred in the analysis server. Also see the /// server.error notification. static const RequestErrorCode SERVER_ERROR = RequestErrorCode._('SERVER_ERROR'); /// An "edit.sortMembers" request specified a FilePath which does not match a /// Dart file in an analysis root. static const RequestErrorCode SORT_MEMBERS_INVALID_FILE = RequestErrorCode._('SORT_MEMBERS_INVALID_FILE'); /// An "edit.sortMembers" request specified a Dart file that has scan or /// parse errors. static const RequestErrorCode SORT_MEMBERS_PARSE_ERRORS = RequestErrorCode._('SORT_MEMBERS_PARSE_ERRORS'); /// A dartfix request was received containing the name of a fix which does /// not match the name of any known fixes. static const RequestErrorCode UNKNOWN_FIX = RequestErrorCode._('UNKNOWN_FIX'); /// A request was received which the analysis server does not recognize, or /// cannot handle in its current configuration. static const RequestErrorCode UNKNOWN_REQUEST = RequestErrorCode._('UNKNOWN_REQUEST'); /// The analysis server was requested to perform an action which is not /// supported. /// /// This is a legacy error; it will be removed before the API reaches version /// 1.0. static const RequestErrorCode UNSUPPORTED_FEATURE = RequestErrorCode._('UNSUPPORTED_FEATURE'); /// A list containing all of the enum values that are defined. static const List VALUES = [ CONTENT_MODIFIED, DEBUG_PORT_COULD_NOT_BE_OPENED, FILE_NOT_ANALYZED, FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED, FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET, FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION, FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID, FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED, FORMAT_INVALID_FILE, FORMAT_WITH_ERRORS, GET_ERRORS_INVALID_FILE, GET_FIXES_INVALID_FILE, GET_IMPORTED_ELEMENTS_INVALID_FILE, GET_KYTHE_ENTRIES_INVALID_FILE, GET_NAVIGATION_INVALID_FILE, GET_REACHABLE_SOURCES_INVALID_FILE, GET_SIGNATURE_INVALID_FILE, GET_SIGNATURE_INVALID_OFFSET, GET_SIGNATURE_UNKNOWN_FUNCTION, IMPORT_ELEMENTS_INVALID_FILE, INVALID_ANALYSIS_ROOT, INVALID_EXECUTION_CONTEXT, INVALID_FILE_PATH_FORMAT, INVALID_OVERLAY_CHANGE, INVALID_PARAMETER, INVALID_REQUEST, ORGANIZE_DIRECTIVES_ERROR, REFACTORING_REQUEST_CANCELLED, SERVER_ALREADY_STARTED, SERVER_ERROR, SORT_MEMBERS_INVALID_FILE, SORT_MEMBERS_PARSE_ERRORS, UNKNOWN_FIX, UNKNOWN_REQUEST, UNSUPPORTED_FEATURE ]; @override final String name; const RequestErrorCode._(this.name); factory RequestErrorCode(String name) { switch (name) { case 'CONTENT_MODIFIED': return CONTENT_MODIFIED; case 'DEBUG_PORT_COULD_NOT_BE_OPENED': return DEBUG_PORT_COULD_NOT_BE_OPENED; case 'FILE_NOT_ANALYZED': return FILE_NOT_ANALYZED; case 'FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED': return FLUTTER_GET_WIDGET_DESCRIPTION_CONTENT_MODIFIED; case 'FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET': return FLUTTER_GET_WIDGET_DESCRIPTION_NO_WIDGET; case 'FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION': return FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_EXPRESSION; case 'FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID': return FLUTTER_SET_WIDGET_PROPERTY_VALUE_INVALID_ID; case 'FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED': return FLUTTER_SET_WIDGET_PROPERTY_VALUE_IS_REQUIRED; case 'FORMAT_INVALID_FILE': return FORMAT_INVALID_FILE; case 'FORMAT_WITH_ERRORS': return FORMAT_WITH_ERRORS; case 'GET_ERRORS_INVALID_FILE': return GET_ERRORS_INVALID_FILE; case 'GET_FIXES_INVALID_FILE': return GET_FIXES_INVALID_FILE; case 'GET_IMPORTED_ELEMENTS_INVALID_FILE': return GET_IMPORTED_ELEMENTS_INVALID_FILE; case 'GET_KYTHE_ENTRIES_INVALID_FILE': return GET_KYTHE_ENTRIES_INVALID_FILE; case 'GET_NAVIGATION_INVALID_FILE': return GET_NAVIGATION_INVALID_FILE; case 'GET_REACHABLE_SOURCES_INVALID_FILE': return GET_REACHABLE_SOURCES_INVALID_FILE; case 'GET_SIGNATURE_INVALID_FILE': return GET_SIGNATURE_INVALID_FILE; case 'GET_SIGNATURE_INVALID_OFFSET': return GET_SIGNATURE_INVALID_OFFSET; case 'GET_SIGNATURE_UNKNOWN_FUNCTION': return GET_SIGNATURE_UNKNOWN_FUNCTION; case 'IMPORT_ELEMENTS_INVALID_FILE': return IMPORT_ELEMENTS_INVALID_FILE; case 'INVALID_ANALYSIS_ROOT': return INVALID_ANALYSIS_ROOT; case 'INVALID_EXECUTION_CONTEXT': return INVALID_EXECUTION_CONTEXT; case 'INVALID_FILE_PATH_FORMAT': return INVALID_FILE_PATH_FORMAT; case 'INVALID_OVERLAY_CHANGE': return INVALID_OVERLAY_CHANGE; case 'INVALID_PARAMETER': return INVALID_PARAMETER; case 'INVALID_REQUEST': return INVALID_REQUEST; case 'ORGANIZE_DIRECTIVES_ERROR': return ORGANIZE_DIRECTIVES_ERROR; case 'REFACTORING_REQUEST_CANCELLED': return REFACTORING_REQUEST_CANCELLED; case 'SERVER_ALREADY_STARTED': return SERVER_ALREADY_STARTED; case 'SERVER_ERROR': return SERVER_ERROR; case 'SORT_MEMBERS_INVALID_FILE': return SORT_MEMBERS_INVALID_FILE; case 'SORT_MEMBERS_PARSE_ERRORS': return SORT_MEMBERS_PARSE_ERRORS; case 'UNKNOWN_FIX': return UNKNOWN_FIX; case 'UNKNOWN_REQUEST': return UNKNOWN_REQUEST; case 'UNSUPPORTED_FEATURE': return UNSUPPORTED_FEATURE; } throw Exception('Illegal enum value: $name'); } factory RequestErrorCode.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return RequestErrorCode(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'RequestErrorCode', json); } @override String toString() => 'RequestErrorCode.$name'; String toJson() => name; } /// RuntimeCompletionExpression /// /// { /// "offset": int /// "length": int /// "type": optional RuntimeCompletionExpressionType /// } /// /// Clients may not extend, implement or mix-in this class. class RuntimeCompletionExpression implements HasToJson { int _offset; int _length; RuntimeCompletionExpressionType _type; /// The offset of the expression in the code for completion. int get offset => _offset; /// The offset of the expression in the code for completion. set offset(int value) { assert(value != null); _offset = value; } /// The length of the expression in the code for completion. int get length => _length; /// The length of the expression in the code for completion. set length(int value) { assert(value != null); _length = value; } /// When the expression is sent from the server to the client, the type is /// omitted. The client should fill the type when it sends the request to the /// server again. RuntimeCompletionExpressionType get type => _type; /// When the expression is sent from the server to the client, the type is /// omitted. The client should fill the type when it sends the request to the /// server again. set type(RuntimeCompletionExpressionType value) { _type = value; } RuntimeCompletionExpression(int offset, int length, {RuntimeCompletionExpressionType type}) { this.offset = offset; this.length = length; this.type = type; } factory RuntimeCompletionExpression.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } int length; if (json.containsKey('length')) { length = jsonDecoder.decodeInt(jsonPath + '.length', json['length']); } else { throw jsonDecoder.mismatch(jsonPath, 'length'); } RuntimeCompletionExpressionType type; if (json.containsKey('type')) { type = RuntimeCompletionExpressionType.fromJson( jsonDecoder, jsonPath + '.type', json['type']); } return RuntimeCompletionExpression(offset, length, type: type); } else { throw jsonDecoder.mismatch(jsonPath, 'RuntimeCompletionExpression', json); } } @override Map toJson() { var result = {}; result['offset'] = offset; result['length'] = length; if (type != null) { result['type'] = type.toJson(); } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RuntimeCompletionExpression) { return offset == other.offset && length == other.length && type == other.type; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, length.hashCode); hash = JenkinsSmiHash.combine(hash, type.hashCode); return JenkinsSmiHash.finish(hash); } } /// RuntimeCompletionExpressionType /// /// { /// "libraryPath": optional FilePath /// "kind": RuntimeCompletionExpressionTypeKind /// "name": optional String /// "typeArguments": optional List /// "returnType": optional RuntimeCompletionExpressionType /// "parameterTypes": optional List /// "parameterNames": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class RuntimeCompletionExpressionType implements HasToJson { String _libraryPath; RuntimeCompletionExpressionTypeKind _kind; String _name; List _typeArguments; RuntimeCompletionExpressionType _returnType; List _parameterTypes; List _parameterNames; /// The path of the library that has this type. Omitted if the type is not /// declared in any library, e.g. "dynamic", or "void". String get libraryPath => _libraryPath; /// The path of the library that has this type. Omitted if the type is not /// declared in any library, e.g. "dynamic", or "void". set libraryPath(String value) { _libraryPath = value; } /// The kind of the type. RuntimeCompletionExpressionTypeKind get kind => _kind; /// The kind of the type. set kind(RuntimeCompletionExpressionTypeKind value) { assert(value != null); _kind = value; } /// The name of the type. Omitted if the type does not have a name, e.g. an /// inline function type. String get name => _name; /// The name of the type. Omitted if the type does not have a name, e.g. an /// inline function type. set name(String value) { _name = value; } /// The type arguments of the type. Omitted if the type does not have type /// parameters. List get typeArguments => _typeArguments; /// The type arguments of the type. Omitted if the type does not have type /// parameters. set typeArguments(List value) { _typeArguments = value; } /// If the type is a function type, the return type of the function. Omitted /// if the type is not a function type. RuntimeCompletionExpressionType get returnType => _returnType; /// If the type is a function type, the return type of the function. Omitted /// if the type is not a function type. set returnType(RuntimeCompletionExpressionType value) { _returnType = value; } /// If the type is a function type, the types of the function parameters of /// all kinds - required, optional positional, and optional named. Omitted if /// the type is not a function type. List get parameterTypes => _parameterTypes; /// If the type is a function type, the types of the function parameters of /// all kinds - required, optional positional, and optional named. Omitted if /// the type is not a function type. set parameterTypes(List value) { _parameterTypes = value; } /// If the type is a function type, the names of the function parameters of /// all kinds - required, optional positional, and optional named. The names /// of positional parameters are empty strings. Omitted if the type is not a /// function type. List get parameterNames => _parameterNames; /// If the type is a function type, the names of the function parameters of /// all kinds - required, optional positional, and optional named. The names /// of positional parameters are empty strings. Omitted if the type is not a /// function type. set parameterNames(List value) { _parameterNames = value; } RuntimeCompletionExpressionType(RuntimeCompletionExpressionTypeKind kind, {String libraryPath, String name, List typeArguments, RuntimeCompletionExpressionType returnType, List parameterTypes, List parameterNames}) { this.libraryPath = libraryPath; this.kind = kind; this.name = name; this.typeArguments = typeArguments; this.returnType = returnType; this.parameterTypes = parameterTypes; this.parameterNames = parameterNames; } factory RuntimeCompletionExpressionType.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String libraryPath; if (json.containsKey('libraryPath')) { libraryPath = jsonDecoder.decodeString( jsonPath + '.libraryPath', json['libraryPath']); } RuntimeCompletionExpressionTypeKind kind; if (json.containsKey('kind')) { kind = RuntimeCompletionExpressionTypeKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } List typeArguments; if (json.containsKey('typeArguments')) { typeArguments = jsonDecoder.decodeList( jsonPath + '.typeArguments', json['typeArguments'], (String jsonPath, Object json) => RuntimeCompletionExpressionType.fromJson( jsonDecoder, jsonPath, json)); } RuntimeCompletionExpressionType returnType; if (json.containsKey('returnType')) { returnType = RuntimeCompletionExpressionType.fromJson( jsonDecoder, jsonPath + '.returnType', json['returnType']); } List parameterTypes; if (json.containsKey('parameterTypes')) { parameterTypes = jsonDecoder.decodeList( jsonPath + '.parameterTypes', json['parameterTypes'], (String jsonPath, Object json) => RuntimeCompletionExpressionType.fromJson( jsonDecoder, jsonPath, json)); } List parameterNames; if (json.containsKey('parameterNames')) { parameterNames = jsonDecoder.decodeList(jsonPath + '.parameterNames', json['parameterNames'], jsonDecoder.decodeString); } return RuntimeCompletionExpressionType(kind, libraryPath: libraryPath, name: name, typeArguments: typeArguments, returnType: returnType, parameterTypes: parameterTypes, parameterNames: parameterNames); } else { throw jsonDecoder.mismatch( jsonPath, 'RuntimeCompletionExpressionType', json); } } @override Map toJson() { var result = {}; if (libraryPath != null) { result['libraryPath'] = libraryPath; } result['kind'] = kind.toJson(); if (name != null) { result['name'] = name; } if (typeArguments != null) { result['typeArguments'] = typeArguments .map((RuntimeCompletionExpressionType value) => value.toJson()) .toList(); } if (returnType != null) { result['returnType'] = returnType.toJson(); } if (parameterTypes != null) { result['parameterTypes'] = parameterTypes .map((RuntimeCompletionExpressionType value) => value.toJson()) .toList(); } if (parameterNames != null) { result['parameterNames'] = parameterNames; } return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RuntimeCompletionExpressionType) { return libraryPath == other.libraryPath && kind == other.kind && name == other.name && listEqual( typeArguments, other.typeArguments, (RuntimeCompletionExpressionType a, RuntimeCompletionExpressionType b) => a == b) && returnType == other.returnType && listEqual( parameterTypes, other.parameterTypes, (RuntimeCompletionExpressionType a, RuntimeCompletionExpressionType b) => a == b) && listEqual(parameterNames, other.parameterNames, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, libraryPath.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, typeArguments.hashCode); hash = JenkinsSmiHash.combine(hash, returnType.hashCode); hash = JenkinsSmiHash.combine(hash, parameterTypes.hashCode); hash = JenkinsSmiHash.combine(hash, parameterNames.hashCode); return JenkinsSmiHash.finish(hash); } } /// RuntimeCompletionExpressionTypeKind /// /// enum { /// DYNAMIC /// FUNCTION /// INTERFACE /// } /// /// Clients may not extend, implement or mix-in this class. class RuntimeCompletionExpressionTypeKind implements Enum { static const RuntimeCompletionExpressionTypeKind DYNAMIC = RuntimeCompletionExpressionTypeKind._('DYNAMIC'); static const RuntimeCompletionExpressionTypeKind FUNCTION = RuntimeCompletionExpressionTypeKind._('FUNCTION'); static const RuntimeCompletionExpressionTypeKind INTERFACE = RuntimeCompletionExpressionTypeKind._('INTERFACE'); /// A list containing all of the enum values that are defined. static const List VALUES = [DYNAMIC, FUNCTION, INTERFACE]; @override final String name; const RuntimeCompletionExpressionTypeKind._(this.name); factory RuntimeCompletionExpressionTypeKind(String name) { switch (name) { case 'DYNAMIC': return DYNAMIC; case 'FUNCTION': return FUNCTION; case 'INTERFACE': return INTERFACE; } throw Exception('Illegal enum value: $name'); } factory RuntimeCompletionExpressionTypeKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return RuntimeCompletionExpressionTypeKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch( jsonPath, 'RuntimeCompletionExpressionTypeKind', json); } @override String toString() => 'RuntimeCompletionExpressionTypeKind.$name'; String toJson() => name; } /// RuntimeCompletionVariable /// /// { /// "name": String /// "type": RuntimeCompletionExpressionType /// } /// /// Clients may not extend, implement or mix-in this class. class RuntimeCompletionVariable implements HasToJson { String _name; RuntimeCompletionExpressionType _type; /// The name of the variable. The name "this" has a special meaning and is /// used as an implicit target for runtime completion, and in explicit "this" /// references. String get name => _name; /// The name of the variable. The name "this" has a special meaning and is /// used as an implicit target for runtime completion, and in explicit "this" /// references. set name(String value) { assert(value != null); _name = value; } /// The type of the variable. RuntimeCompletionExpressionType get type => _type; /// The type of the variable. set type(RuntimeCompletionExpressionType value) { assert(value != null); _type = value; } RuntimeCompletionVariable(String name, RuntimeCompletionExpressionType type) { this.name = name; this.type = type; } factory RuntimeCompletionVariable.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } RuntimeCompletionExpressionType type; if (json.containsKey('type')) { type = RuntimeCompletionExpressionType.fromJson( jsonDecoder, jsonPath + '.type', json['type']); } else { throw jsonDecoder.mismatch(jsonPath, 'type'); } return RuntimeCompletionVariable(name, type); } else { throw jsonDecoder.mismatch(jsonPath, 'RuntimeCompletionVariable', json); } } @override Map toJson() { var result = {}; result['name'] = name; result['type'] = type.toJson(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is RuntimeCompletionVariable) { return name == other.name && type == other.type; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); hash = JenkinsSmiHash.combine(hash, type.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findElementReferences params /// /// { /// "file": FilePath /// "offset": int /// "includePotential": bool /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindElementReferencesParams implements RequestParams { String _file; int _offset; bool _includePotential; /// The file containing the declaration of or reference to the element used /// to define the search. String get file => _file; /// The file containing the declaration of or reference to the element used /// to define the search. set file(String value) { assert(value != null); _file = value; } /// The offset within the file of the declaration of or reference to the /// element. int get offset => _offset; /// The offset within the file of the declaration of or reference to the /// element. set offset(int value) { assert(value != null); _offset = value; } /// True if potential matches are to be included in the results. bool get includePotential => _includePotential; /// True if potential matches are to be included in the results. set includePotential(bool value) { assert(value != null); _includePotential = value; } SearchFindElementReferencesParams( String file, int offset, bool includePotential) { this.file = file; this.offset = offset; this.includePotential = includePotential; } factory SearchFindElementReferencesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } bool includePotential; if (json.containsKey('includePotential')) { includePotential = jsonDecoder.decodeBool( jsonPath + '.includePotential', json['includePotential']); } else { throw jsonDecoder.mismatch(jsonPath, 'includePotential'); } return SearchFindElementReferencesParams(file, offset, includePotential); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findElementReferences params', json); } } factory SearchFindElementReferencesParams.fromRequest(Request request) { return SearchFindElementReferencesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; result['includePotential'] = includePotential; return result; } @override Request toRequest(String id) { return Request(id, 'search.findElementReferences', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindElementReferencesParams) { return file == other.file && offset == other.offset && includePotential == other.includePotential; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, includePotential.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findElementReferences result /// /// { /// "id": optional SearchId /// "element": optional Element /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindElementReferencesResult implements ResponseResult { String _id; Element _element; /// The identifier used to associate results with this search request. /// /// If no element was found at the given location, this field will be absent, /// and no results will be reported via the search.results notification. String get id => _id; /// The identifier used to associate results with this search request. /// /// If no element was found at the given location, this field will be absent, /// and no results will be reported via the search.results notification. set id(String value) { _id = value; } /// The element referenced or defined at the given offset and whose /// references will be returned in the search results. /// /// If no element was found at the given location, this field will be absent. Element get element => _element; /// The element referenced or defined at the given offset and whose /// references will be returned in the search results. /// /// If no element was found at the given location, this field will be absent. set element(Element value) { _element = value; } SearchFindElementReferencesResult({String id, Element element}) { this.id = id; this.element = element; } factory SearchFindElementReferencesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } Element element; if (json.containsKey('element')) { element = Element.fromJson( jsonDecoder, jsonPath + '.element', json['element']); } return SearchFindElementReferencesResult(id: id, element: element); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findElementReferences result', json); } } factory SearchFindElementReferencesResult.fromResponse(Response response) { return SearchFindElementReferencesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; if (id != null) { result['id'] = id; } if (element != null) { result['element'] = element.toJson(); } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindElementReferencesResult) { return id == other.id && element == other.element; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, element.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findMemberDeclarations params /// /// { /// "name": String /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindMemberDeclarationsParams implements RequestParams { String _name; /// The name of the declarations to be found. String get name => _name; /// The name of the declarations to be found. set name(String value) { assert(value != null); _name = value; } SearchFindMemberDeclarationsParams(String name) { this.name = name; } factory SearchFindMemberDeclarationsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } return SearchFindMemberDeclarationsParams(name); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findMemberDeclarations params', json); } } factory SearchFindMemberDeclarationsParams.fromRequest(Request request) { return SearchFindMemberDeclarationsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['name'] = name; return result; } @override Request toRequest(String id) { return Request(id, 'search.findMemberDeclarations', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindMemberDeclarationsParams) { return name == other.name; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findMemberDeclarations result /// /// { /// "id": SearchId /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindMemberDeclarationsResult implements ResponseResult { String _id; /// The identifier used to associate results with this search request. String get id => _id; /// The identifier used to associate results with this search request. set id(String value) { assert(value != null); _id = value; } SearchFindMemberDeclarationsResult(String id) { this.id = id; } factory SearchFindMemberDeclarationsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return SearchFindMemberDeclarationsResult(id); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findMemberDeclarations result', json); } } factory SearchFindMemberDeclarationsResult.fromResponse(Response response) { return SearchFindMemberDeclarationsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindMemberDeclarationsResult) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findMemberReferences params /// /// { /// "name": String /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindMemberReferencesParams implements RequestParams { String _name; /// The name of the references to be found. String get name => _name; /// The name of the references to be found. set name(String value) { assert(value != null); _name = value; } SearchFindMemberReferencesParams(String name) { this.name = name; } factory SearchFindMemberReferencesParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String name; if (json.containsKey('name')) { name = jsonDecoder.decodeString(jsonPath + '.name', json['name']); } else { throw jsonDecoder.mismatch(jsonPath, 'name'); } return SearchFindMemberReferencesParams(name); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findMemberReferences params', json); } } factory SearchFindMemberReferencesParams.fromRequest(Request request) { return SearchFindMemberReferencesParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['name'] = name; return result; } @override Request toRequest(String id) { return Request(id, 'search.findMemberReferences', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindMemberReferencesParams) { return name == other.name; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, name.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findMemberReferences result /// /// { /// "id": SearchId /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindMemberReferencesResult implements ResponseResult { String _id; /// The identifier used to associate results with this search request. String get id => _id; /// The identifier used to associate results with this search request. set id(String value) { assert(value != null); _id = value; } SearchFindMemberReferencesResult(String id) { this.id = id; } factory SearchFindMemberReferencesResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return SearchFindMemberReferencesResult(id); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findMemberReferences result', json); } } factory SearchFindMemberReferencesResult.fromResponse(Response response) { return SearchFindMemberReferencesResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindMemberReferencesResult) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findTopLevelDeclarations params /// /// { /// "pattern": String /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindTopLevelDeclarationsParams implements RequestParams { String _pattern; /// The regular expression used to match the names of the declarations to be /// found. String get pattern => _pattern; /// The regular expression used to match the names of the declarations to be /// found. set pattern(String value) { assert(value != null); _pattern = value; } SearchFindTopLevelDeclarationsParams(String pattern) { this.pattern = pattern; } factory SearchFindTopLevelDeclarationsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String pattern; if (json.containsKey('pattern')) { pattern = jsonDecoder.decodeString(jsonPath + '.pattern', json['pattern']); } else { throw jsonDecoder.mismatch(jsonPath, 'pattern'); } return SearchFindTopLevelDeclarationsParams(pattern); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findTopLevelDeclarations params', json); } } factory SearchFindTopLevelDeclarationsParams.fromRequest(Request request) { return SearchFindTopLevelDeclarationsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['pattern'] = pattern; return result; } @override Request toRequest(String id) { return Request(id, 'search.findTopLevelDeclarations', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindTopLevelDeclarationsParams) { return pattern == other.pattern; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, pattern.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.findTopLevelDeclarations result /// /// { /// "id": SearchId /// } /// /// Clients may not extend, implement or mix-in this class. class SearchFindTopLevelDeclarationsResult implements ResponseResult { String _id; /// The identifier used to associate results with this search request. String get id => _id; /// The identifier used to associate results with this search request. set id(String value) { assert(value != null); _id = value; } SearchFindTopLevelDeclarationsResult(String id) { this.id = id; } factory SearchFindTopLevelDeclarationsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } return SearchFindTopLevelDeclarationsResult(id); } else { throw jsonDecoder.mismatch( jsonPath, 'search.findTopLevelDeclarations result', json); } } factory SearchFindTopLevelDeclarationsResult.fromResponse(Response response) { return SearchFindTopLevelDeclarationsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['id'] = id; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchFindTopLevelDeclarationsResult) { return id == other.id; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.getElementDeclarations params /// /// { /// "file": optional FilePath /// "pattern": optional String /// "maxResults": optional int /// } /// /// Clients may not extend, implement or mix-in this class. class SearchGetElementDeclarationsParams implements RequestParams { String _file; String _pattern; int _maxResults; /// If this field is provided, return only declarations in this file. If this /// field is missing, return declarations in all files. String get file => _file; /// If this field is provided, return only declarations in this file. If this /// field is missing, return declarations in all files. set file(String value) { _file = value; } /// The regular expression used to match the names of declarations. If this /// field is missing, return all declarations. String get pattern => _pattern; /// The regular expression used to match the names of declarations. If this /// field is missing, return all declarations. set pattern(String value) { _pattern = value; } /// The maximum number of declarations to return. If this field is missing, /// return all matching declarations. int get maxResults => _maxResults; /// The maximum number of declarations to return. If this field is missing, /// return all matching declarations. set maxResults(int value) { _maxResults = value; } SearchGetElementDeclarationsParams( {String file, String pattern, int maxResults}) { this.file = file; this.pattern = pattern; this.maxResults = maxResults; } factory SearchGetElementDeclarationsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } String pattern; if (json.containsKey('pattern')) { pattern = jsonDecoder.decodeString(jsonPath + '.pattern', json['pattern']); } int maxResults; if (json.containsKey('maxResults')) { maxResults = jsonDecoder.decodeInt(jsonPath + '.maxResults', json['maxResults']); } return SearchGetElementDeclarationsParams( file: file, pattern: pattern, maxResults: maxResults); } else { throw jsonDecoder.mismatch( jsonPath, 'search.getElementDeclarations params', json); } } factory SearchGetElementDeclarationsParams.fromRequest(Request request) { return SearchGetElementDeclarationsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; if (file != null) { result['file'] = file; } if (pattern != null) { result['pattern'] = pattern; } if (maxResults != null) { result['maxResults'] = maxResults; } return result; } @override Request toRequest(String id) { return Request(id, 'search.getElementDeclarations', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchGetElementDeclarationsParams) { return file == other.file && pattern == other.pattern && maxResults == other.maxResults; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, pattern.hashCode); hash = JenkinsSmiHash.combine(hash, maxResults.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.getElementDeclarations result /// /// { /// "declarations": List /// "files": List /// } /// /// Clients may not extend, implement or mix-in this class. class SearchGetElementDeclarationsResult implements ResponseResult { List _declarations; List _files; /// The list of declarations. List get declarations => _declarations; /// The list of declarations. set declarations(List value) { assert(value != null); _declarations = value; } /// The list of the paths of files with declarations. List get files => _files; /// The list of the paths of files with declarations. set files(List value) { assert(value != null); _files = value; } SearchGetElementDeclarationsResult( List declarations, List files) { this.declarations = declarations; this.files = files; } factory SearchGetElementDeclarationsResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List declarations; if (json.containsKey('declarations')) { declarations = jsonDecoder.decodeList( jsonPath + '.declarations', json['declarations'], (String jsonPath, Object json) => ElementDeclaration.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'declarations'); } List files; if (json.containsKey('files')) { files = jsonDecoder.decodeList( jsonPath + '.files', json['files'], jsonDecoder.decodeString); } else { throw jsonDecoder.mismatch(jsonPath, 'files'); } return SearchGetElementDeclarationsResult(declarations, files); } else { throw jsonDecoder.mismatch( jsonPath, 'search.getElementDeclarations result', json); } } factory SearchGetElementDeclarationsResult.fromResponse(Response response) { return SearchGetElementDeclarationsResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['declarations'] = declarations.map((ElementDeclaration value) => value.toJson()).toList(); result['files'] = files; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchGetElementDeclarationsResult) { return listEqual(declarations, other.declarations, (ElementDeclaration a, ElementDeclaration b) => a == b) && listEqual(files, other.files, (String a, String b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, declarations.hashCode); hash = JenkinsSmiHash.combine(hash, files.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.getTypeHierarchy params /// /// { /// "file": FilePath /// "offset": int /// "superOnly": optional bool /// } /// /// Clients may not extend, implement or mix-in this class. class SearchGetTypeHierarchyParams implements RequestParams { String _file; int _offset; bool _superOnly; /// The file containing the declaration or reference to the type for which a /// hierarchy is being requested. String get file => _file; /// The file containing the declaration or reference to the type for which a /// hierarchy is being requested. set file(String value) { assert(value != null); _file = value; } /// The offset of the name of the type within the file. int get offset => _offset; /// The offset of the name of the type within the file. set offset(int value) { assert(value != null); _offset = value; } /// True if the client is only requesting superclasses and interfaces /// hierarchy. bool get superOnly => _superOnly; /// True if the client is only requesting superclasses and interfaces /// hierarchy. set superOnly(bool value) { _superOnly = value; } SearchGetTypeHierarchyParams(String file, int offset, {bool superOnly}) { this.file = file; this.offset = offset; this.superOnly = superOnly; } factory SearchGetTypeHierarchyParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String file; if (json.containsKey('file')) { file = jsonDecoder.decodeString(jsonPath + '.file', json['file']); } else { throw jsonDecoder.mismatch(jsonPath, 'file'); } int offset; if (json.containsKey('offset')) { offset = jsonDecoder.decodeInt(jsonPath + '.offset', json['offset']); } else { throw jsonDecoder.mismatch(jsonPath, 'offset'); } bool superOnly; if (json.containsKey('superOnly')) { superOnly = jsonDecoder.decodeBool(jsonPath + '.superOnly', json['superOnly']); } return SearchGetTypeHierarchyParams(file, offset, superOnly: superOnly); } else { throw jsonDecoder.mismatch( jsonPath, 'search.getTypeHierarchy params', json); } } factory SearchGetTypeHierarchyParams.fromRequest(Request request) { return SearchGetTypeHierarchyParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['file'] = file; result['offset'] = offset; if (superOnly != null) { result['superOnly'] = superOnly; } return result; } @override Request toRequest(String id) { return Request(id, 'search.getTypeHierarchy', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchGetTypeHierarchyParams) { return file == other.file && offset == other.offset && superOnly == other.superOnly; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, file.hashCode); hash = JenkinsSmiHash.combine(hash, offset.hashCode); hash = JenkinsSmiHash.combine(hash, superOnly.hashCode); return JenkinsSmiHash.finish(hash); } } /// search.getTypeHierarchy result /// /// { /// "hierarchyItems": optional List /// } /// /// Clients may not extend, implement or mix-in this class. class SearchGetTypeHierarchyResult implements ResponseResult { List _hierarchyItems; /// A list of the types in the requested hierarchy. The first element of the /// list is the item representing the type for which the hierarchy was /// requested. The index of other elements of the list is unspecified, but /// correspond to the integers used to reference supertype and subtype items /// within the items. /// /// This field will be absent if the code at the given file and offset does /// not represent a type, or if the file has not been sufficiently analyzed /// to allow a type hierarchy to be produced. List get hierarchyItems => _hierarchyItems; /// A list of the types in the requested hierarchy. The first element of the /// list is the item representing the type for which the hierarchy was /// requested. The index of other elements of the list is unspecified, but /// correspond to the integers used to reference supertype and subtype items /// within the items. /// /// This field will be absent if the code at the given file and offset does /// not represent a type, or if the file has not been sufficiently analyzed /// to allow a type hierarchy to be produced. set hierarchyItems(List value) { _hierarchyItems = value; } SearchGetTypeHierarchyResult({List hierarchyItems}) { this.hierarchyItems = hierarchyItems; } factory SearchGetTypeHierarchyResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List hierarchyItems; if (json.containsKey('hierarchyItems')) { hierarchyItems = jsonDecoder.decodeList( jsonPath + '.hierarchyItems', json['hierarchyItems'], (String jsonPath, Object json) => TypeHierarchyItem.fromJson(jsonDecoder, jsonPath, json)); } return SearchGetTypeHierarchyResult(hierarchyItems: hierarchyItems); } else { throw jsonDecoder.mismatch( jsonPath, 'search.getTypeHierarchy result', json); } } factory SearchGetTypeHierarchyResult.fromResponse(Response response) { return SearchGetTypeHierarchyResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; if (hierarchyItems != null) { result['hierarchyItems'] = hierarchyItems .map((TypeHierarchyItem value) => value.toJson()) .toList(); } return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchGetTypeHierarchyResult) { return listEqual(hierarchyItems, other.hierarchyItems, (TypeHierarchyItem a, TypeHierarchyItem b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, hierarchyItems.hashCode); return JenkinsSmiHash.finish(hash); } } /// SearchResult /// /// { /// "location": Location /// "kind": SearchResultKind /// "isPotential": bool /// "path": List /// } /// /// Clients may not extend, implement or mix-in this class. class SearchResult implements HasToJson { Location _location; SearchResultKind _kind; bool _isPotential; List _path; /// The location of the code that matched the search criteria. Location get location => _location; /// The location of the code that matched the search criteria. set location(Location value) { assert(value != null); _location = value; } /// The kind of element that was found or the kind of reference that was /// found. SearchResultKind get kind => _kind; /// The kind of element that was found or the kind of reference that was /// found. set kind(SearchResultKind value) { assert(value != null); _kind = value; } /// True if the result is a potential match but cannot be confirmed to be a /// match. For example, if all references to a method m defined in some class /// were requested, and a reference to a method m from an unknown class were /// found, it would be marked as being a potential match. bool get isPotential => _isPotential; /// True if the result is a potential match but cannot be confirmed to be a /// match. For example, if all references to a method m defined in some class /// were requested, and a reference to a method m from an unknown class were /// found, it would be marked as being a potential match. set isPotential(bool value) { assert(value != null); _isPotential = value; } /// The elements that contain the result, starting with the most immediately /// enclosing ancestor and ending with the library. List get path => _path; /// The elements that contain the result, starting with the most immediately /// enclosing ancestor and ending with the library. set path(List value) { assert(value != null); _path = value; } SearchResult(Location location, SearchResultKind kind, bool isPotential, List path) { this.location = location; this.kind = kind; this.isPotential = isPotential; this.path = path; } factory SearchResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Location location; if (json.containsKey('location')) { location = Location.fromJson( jsonDecoder, jsonPath + '.location', json['location']); } else { throw jsonDecoder.mismatch(jsonPath, 'location'); } SearchResultKind kind; if (json.containsKey('kind')) { kind = SearchResultKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } bool isPotential; if (json.containsKey('isPotential')) { isPotential = jsonDecoder.decodeBool( jsonPath + '.isPotential', json['isPotential']); } else { throw jsonDecoder.mismatch(jsonPath, 'isPotential'); } List path; if (json.containsKey('path')) { path = jsonDecoder.decodeList( jsonPath + '.path', json['path'], (String jsonPath, Object json) => Element.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'path'); } return SearchResult(location, kind, isPotential, path); } else { throw jsonDecoder.mismatch(jsonPath, 'SearchResult', json); } } @override Map toJson() { var result = {}; result['location'] = location.toJson(); result['kind'] = kind.toJson(); result['isPotential'] = isPotential; result['path'] = path.map((Element value) => value.toJson()).toList(); return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchResult) { return location == other.location && kind == other.kind && isPotential == other.isPotential && listEqual(path, other.path, (Element a, Element b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, location.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, isPotential.hashCode); hash = JenkinsSmiHash.combine(hash, path.hashCode); return JenkinsSmiHash.finish(hash); } } /// SearchResultKind /// /// enum { /// DECLARATION /// INVOCATION /// READ /// READ_WRITE /// REFERENCE /// UNKNOWN /// WRITE /// } /// /// Clients may not extend, implement or mix-in this class. class SearchResultKind implements Enum { /// The declaration of an element. static const SearchResultKind DECLARATION = SearchResultKind._('DECLARATION'); /// The invocation of a function or method. static const SearchResultKind INVOCATION = SearchResultKind._('INVOCATION'); /// A reference to a field, parameter or variable where it is being read. static const SearchResultKind READ = SearchResultKind._('READ'); /// A reference to a field, parameter or variable where it is being read and /// written. static const SearchResultKind READ_WRITE = SearchResultKind._('READ_WRITE'); /// A reference to an element. static const SearchResultKind REFERENCE = SearchResultKind._('REFERENCE'); /// Some other kind of search result. static const SearchResultKind UNKNOWN = SearchResultKind._('UNKNOWN'); /// A reference to a field, parameter or variable where it is being written. static const SearchResultKind WRITE = SearchResultKind._('WRITE'); /// A list containing all of the enum values that are defined. static const List VALUES = [ DECLARATION, INVOCATION, READ, READ_WRITE, REFERENCE, UNKNOWN, WRITE ]; @override final String name; const SearchResultKind._(this.name); factory SearchResultKind(String name) { switch (name) { case 'DECLARATION': return DECLARATION; case 'INVOCATION': return INVOCATION; case 'READ': return READ; case 'READ_WRITE': return READ_WRITE; case 'REFERENCE': return REFERENCE; case 'UNKNOWN': return UNKNOWN; case 'WRITE': return WRITE; } throw Exception('Illegal enum value: $name'); } factory SearchResultKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return SearchResultKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'SearchResultKind', json); } @override String toString() => 'SearchResultKind.$name'; String toJson() => name; } /// search.results params /// /// { /// "id": SearchId /// "results": List /// "isLast": bool /// } /// /// Clients may not extend, implement or mix-in this class. class SearchResultsParams implements HasToJson { String _id; List _results; bool _isLast; /// The id associated with the search. String get id => _id; /// The id associated with the search. set id(String value) { assert(value != null); _id = value; } /// The search results being reported. List get results => _results; /// The search results being reported. set results(List value) { assert(value != null); _results = value; } /// True if this is that last set of results that will be returned for the /// indicated search. bool get isLast => _isLast; /// True if this is that last set of results that will be returned for the /// indicated search. set isLast(bool value) { assert(value != null); _isLast = value; } SearchResultsParams(String id, List results, bool isLast) { this.id = id; this.results = results; this.isLast = isLast; } factory SearchResultsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String id; if (json.containsKey('id')) { id = jsonDecoder.decodeString(jsonPath + '.id', json['id']); } else { throw jsonDecoder.mismatch(jsonPath, 'id'); } List results; if (json.containsKey('results')) { results = jsonDecoder.decodeList( jsonPath + '.results', json['results'], (String jsonPath, Object json) => SearchResult.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'results'); } bool isLast; if (json.containsKey('isLast')) { isLast = jsonDecoder.decodeBool(jsonPath + '.isLast', json['isLast']); } else { throw jsonDecoder.mismatch(jsonPath, 'isLast'); } return SearchResultsParams(id, results, isLast); } else { throw jsonDecoder.mismatch(jsonPath, 'search.results params', json); } } factory SearchResultsParams.fromNotification(Notification notification) { return SearchResultsParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['id'] = id; result['results'] = results.map((SearchResult value) => value.toJson()).toList(); result['isLast'] = isLast; return result; } Notification toNotification() { return Notification('search.results', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is SearchResultsParams) { return id == other.id && listEqual(results, other.results, (SearchResult a, SearchResult b) => a == b) && isLast == other.isLast; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, id.hashCode); hash = JenkinsSmiHash.combine(hash, results.hashCode); hash = JenkinsSmiHash.combine(hash, isLast.hashCode); return JenkinsSmiHash.finish(hash); } } /// server.connected params /// /// { /// "version": String /// "pid": int /// } /// /// Clients may not extend, implement or mix-in this class. class ServerConnectedParams implements HasToJson { String _version; int _pid; /// The version number of the analysis server. String get version => _version; /// The version number of the analysis server. set version(String value) { assert(value != null); _version = value; } /// The process id of the analysis server process. int get pid => _pid; /// The process id of the analysis server process. set pid(int value) { assert(value != null); _pid = value; } ServerConnectedParams(String version, int pid) { this.version = version; this.pid = pid; } factory ServerConnectedParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String version; if (json.containsKey('version')) { version = jsonDecoder.decodeString(jsonPath + '.version', json['version']); } else { throw jsonDecoder.mismatch(jsonPath, 'version'); } int pid; if (json.containsKey('pid')) { pid = jsonDecoder.decodeInt(jsonPath + '.pid', json['pid']); } else { throw jsonDecoder.mismatch(jsonPath, 'pid'); } return ServerConnectedParams(version, pid); } else { throw jsonDecoder.mismatch(jsonPath, 'server.connected params', json); } } factory ServerConnectedParams.fromNotification(Notification notification) { return ServerConnectedParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['version'] = version; result['pid'] = pid; return result; } Notification toNotification() { return Notification('server.connected', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerConnectedParams) { return version == other.version && pid == other.pid; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, version.hashCode); hash = JenkinsSmiHash.combine(hash, pid.hashCode); return JenkinsSmiHash.finish(hash); } } /// server.error params /// /// { /// "isFatal": bool /// "message": String /// "stackTrace": String /// } /// /// Clients may not extend, implement or mix-in this class. class ServerErrorParams implements HasToJson { bool _isFatal; String _message; String _stackTrace; /// True if the error is a fatal error, meaning that the server will shutdown /// automatically after sending this notification. bool get isFatal => _isFatal; /// True if the error is a fatal error, meaning that the server will shutdown /// automatically after sending this notification. set isFatal(bool value) { assert(value != null); _isFatal = value; } /// The error message indicating what kind of error was encountered. String get message => _message; /// The error message indicating what kind of error was encountered. set message(String value) { assert(value != null); _message = value; } /// The stack trace associated with the generation of the error, used for /// debugging the server. String get stackTrace => _stackTrace; /// The stack trace associated with the generation of the error, used for /// debugging the server. set stackTrace(String value) { assert(value != null); _stackTrace = value; } ServerErrorParams(bool isFatal, String message, String stackTrace) { this.isFatal = isFatal; this.message = message; this.stackTrace = stackTrace; } factory ServerErrorParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { bool isFatal; if (json.containsKey('isFatal')) { isFatal = jsonDecoder.decodeBool(jsonPath + '.isFatal', json['isFatal']); } else { throw jsonDecoder.mismatch(jsonPath, 'isFatal'); } String message; if (json.containsKey('message')) { message = jsonDecoder.decodeString(jsonPath + '.message', json['message']); } else { throw jsonDecoder.mismatch(jsonPath, 'message'); } String stackTrace; if (json.containsKey('stackTrace')) { stackTrace = jsonDecoder.decodeString( jsonPath + '.stackTrace', json['stackTrace']); } else { throw jsonDecoder.mismatch(jsonPath, 'stackTrace'); } return ServerErrorParams(isFatal, message, stackTrace); } else { throw jsonDecoder.mismatch(jsonPath, 'server.error params', json); } } factory ServerErrorParams.fromNotification(Notification notification) { return ServerErrorParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['isFatal'] = isFatal; result['message'] = message; result['stackTrace'] = stackTrace; return result; } Notification toNotification() { return Notification('server.error', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerErrorParams) { return isFatal == other.isFatal && message == other.message && stackTrace == other.stackTrace; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, isFatal.hashCode); hash = JenkinsSmiHash.combine(hash, message.hashCode); hash = JenkinsSmiHash.combine(hash, stackTrace.hashCode); return JenkinsSmiHash.finish(hash); } } /// server.getVersion params /// /// Clients may not extend, implement or mix-in this class. class ServerGetVersionParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'server.getVersion', null); } @override bool operator ==(other) { if (other is ServerGetVersionParams) { return true; } return false; } @override int get hashCode { return 55877452; } } /// server.getVersion result /// /// { /// "version": String /// } /// /// Clients may not extend, implement or mix-in this class. class ServerGetVersionResult implements ResponseResult { String _version; /// The version number of the analysis server. String get version => _version; /// The version number of the analysis server. set version(String value) { assert(value != null); _version = value; } ServerGetVersionResult(String version) { this.version = version; } factory ServerGetVersionResult.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { String version; if (json.containsKey('version')) { version = jsonDecoder.decodeString(jsonPath + '.version', json['version']); } else { throw jsonDecoder.mismatch(jsonPath, 'version'); } return ServerGetVersionResult(version); } else { throw jsonDecoder.mismatch(jsonPath, 'server.getVersion result', json); } } factory ServerGetVersionResult.fromResponse(Response response) { return ServerGetVersionResult.fromJson( ResponseDecoder(REQUEST_ID_REFACTORING_KINDS.remove(response.id)), 'result', response.result); } @override Map toJson() { var result = {}; result['version'] = version; return result; } @override Response toResponse(String id) { return Response(id, result: toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerGetVersionResult) { return version == other.version; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, version.hashCode); return JenkinsSmiHash.finish(hash); } } /// ServerLogEntry /// /// { /// "time": int /// "kind": ServerLogEntryKind /// "data": String /// } /// /// Clients may not extend, implement or mix-in this class. class ServerLogEntry implements HasToJson { int _time; ServerLogEntryKind _kind; String _data; /// The time (milliseconds since epoch) at which the server created this log /// entry. int get time => _time; /// The time (milliseconds since epoch) at which the server created this log /// entry. set time(int value) { assert(value != null); _time = value; } /// The kind of the entry, used to determine how to interpret the "data" /// field. ServerLogEntryKind get kind => _kind; /// The kind of the entry, used to determine how to interpret the "data" /// field. set kind(ServerLogEntryKind value) { assert(value != null); _kind = value; } /// The payload of the entry, the actual format is determined by the "kind" /// field. String get data => _data; /// The payload of the entry, the actual format is determined by the "kind" /// field. set data(String value) { assert(value != null); _data = value; } ServerLogEntry(int time, ServerLogEntryKind kind, String data) { this.time = time; this.kind = kind; this.data = data; } factory ServerLogEntry.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { int time; if (json.containsKey('time')) { time = jsonDecoder.decodeInt(jsonPath + '.time', json['time']); } else { throw jsonDecoder.mismatch(jsonPath, 'time'); } ServerLogEntryKind kind; if (json.containsKey('kind')) { kind = ServerLogEntryKind.fromJson( jsonDecoder, jsonPath + '.kind', json['kind']); } else { throw jsonDecoder.mismatch(jsonPath, 'kind'); } String data; if (json.containsKey('data')) { data = jsonDecoder.decodeString(jsonPath + '.data', json['data']); } else { throw jsonDecoder.mismatch(jsonPath, 'data'); } return ServerLogEntry(time, kind, data); } else { throw jsonDecoder.mismatch(jsonPath, 'ServerLogEntry', json); } } @override Map toJson() { var result = {}; result['time'] = time; result['kind'] = kind.toJson(); result['data'] = data; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerLogEntry) { return time == other.time && kind == other.kind && data == other.data; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, time.hashCode); hash = JenkinsSmiHash.combine(hash, kind.hashCode); hash = JenkinsSmiHash.combine(hash, data.hashCode); return JenkinsSmiHash.finish(hash); } } /// ServerLogEntryKind /// /// enum { /// NOTIFICATION /// RAW /// REQUEST /// RESPONSE /// } /// /// Clients may not extend, implement or mix-in this class. class ServerLogEntryKind implements Enum { /// A notification from the server, such as "analysis.highlights". The "data" /// field contains a JSON object with abbreviated notification. static const ServerLogEntryKind NOTIFICATION = ServerLogEntryKind._('NOTIFICATION'); /// Arbitrary string, describing some event that happened in the server, e.g. /// starting a file analysis, and details which files were accessed. These /// entries are not structured, but provide context information about /// requests and notification, and can be related by "time" for further /// manual analysis. static const ServerLogEntryKind RAW = ServerLogEntryKind._('RAW'); /// A request from the client, as the server views it, e.g. /// "edit.getAssists". The "data" field contains a JSON object with /// abbreviated request. static const ServerLogEntryKind REQUEST = ServerLogEntryKind._('REQUEST'); /// Various counters and measurements related to execution of a request. The /// "data" field contains a JSON object with following fields: /// /// - "id" - the id of the request - copied from the request. /// - "method" - the method of the request, e.g. "edit.getAssists". /// - "clientRequestTime" - the time (milliseconds since epoch) at which the /// client made the request - copied from the request. /// - "serverRequestTime" - the time (milliseconds since epoch) at which the /// server received and decoded the JSON request. /// - "responseTime" - the time (milliseconds since epoch) at which the /// server created the response to be encoded into JSON and sent to the /// client. static const ServerLogEntryKind RESPONSE = ServerLogEntryKind._('RESPONSE'); /// A list containing all of the enum values that are defined. static const List VALUES = [ NOTIFICATION, RAW, REQUEST, RESPONSE ]; @override final String name; const ServerLogEntryKind._(this.name); factory ServerLogEntryKind(String name) { switch (name) { case 'NOTIFICATION': return NOTIFICATION; case 'RAW': return RAW; case 'REQUEST': return REQUEST; case 'RESPONSE': return RESPONSE; } throw Exception('Illegal enum value: $name'); } factory ServerLogEntryKind.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return ServerLogEntryKind(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'ServerLogEntryKind', json); } @override String toString() => 'ServerLogEntryKind.$name'; String toJson() => name; } /// server.log params /// /// { /// "entry": ServerLogEntry /// } /// /// Clients may not extend, implement or mix-in this class. class ServerLogParams implements HasToJson { ServerLogEntry _entry; ServerLogEntry get entry => _entry; set entry(ServerLogEntry value) { assert(value != null); _entry = value; } ServerLogParams(ServerLogEntry entry) { this.entry = entry; } factory ServerLogParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { ServerLogEntry entry; if (json.containsKey('entry')) { entry = ServerLogEntry.fromJson( jsonDecoder, jsonPath + '.entry', json['entry']); } else { throw jsonDecoder.mismatch(jsonPath, 'entry'); } return ServerLogParams(entry); } else { throw jsonDecoder.mismatch(jsonPath, 'server.log params', json); } } factory ServerLogParams.fromNotification(Notification notification) { return ServerLogParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; result['entry'] = entry.toJson(); return result; } Notification toNotification() { return Notification('server.log', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerLogParams) { return entry == other.entry; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, entry.hashCode); return JenkinsSmiHash.finish(hash); } } /// ServerService /// /// enum { /// LOG /// STATUS /// } /// /// Clients may not extend, implement or mix-in this class. class ServerService implements Enum { static const ServerService LOG = ServerService._('LOG'); static const ServerService STATUS = ServerService._('STATUS'); /// A list containing all of the enum values that are defined. static const List VALUES = [LOG, STATUS]; @override final String name; const ServerService._(this.name); factory ServerService(String name) { switch (name) { case 'LOG': return LOG; case 'STATUS': return STATUS; } throw Exception('Illegal enum value: $name'); } factory ServerService.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { if (json is String) { try { return ServerService(json); } catch (_) { // Fall through } } throw jsonDecoder.mismatch(jsonPath, 'ServerService', json); } @override String toString() => 'ServerService.$name'; String toJson() => name; } /// server.setSubscriptions params /// /// { /// "subscriptions": List /// } /// /// Clients may not extend, implement or mix-in this class. class ServerSetSubscriptionsParams implements RequestParams { List _subscriptions; /// A list of the services being subscribed to. List get subscriptions => _subscriptions; /// A list of the services being subscribed to. set subscriptions(List value) { assert(value != null); _subscriptions = value; } ServerSetSubscriptionsParams(List subscriptions) { this.subscriptions = subscriptions; } factory ServerSetSubscriptionsParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { List subscriptions; if (json.containsKey('subscriptions')) { subscriptions = jsonDecoder.decodeList( jsonPath + '.subscriptions', json['subscriptions'], (String jsonPath, Object json) => ServerService.fromJson(jsonDecoder, jsonPath, json)); } else { throw jsonDecoder.mismatch(jsonPath, 'subscriptions'); } return ServerSetSubscriptionsParams(subscriptions); } else { throw jsonDecoder.mismatch( jsonPath, 'server.setSubscriptions params', json); } } factory ServerSetSubscriptionsParams.fromRequest(Request request) { return ServerSetSubscriptionsParams.fromJson( RequestDecoder(request), 'params', request.params); } @override Map toJson() { var result = {}; result['subscriptions'] = subscriptions.map((ServerService value) => value.toJson()).toList(); return result; } @override Request toRequest(String id) { return Request(id, 'server.setSubscriptions', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerSetSubscriptionsParams) { return listEqual(subscriptions, other.subscriptions, (ServerService a, ServerService b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, subscriptions.hashCode); return JenkinsSmiHash.finish(hash); } } /// server.setSubscriptions result /// /// Clients may not extend, implement or mix-in this class. class ServerSetSubscriptionsResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is ServerSetSubscriptionsResult) { return true; } return false; } @override int get hashCode { return 748820900; } } /// server.shutdown params /// /// Clients may not extend, implement or mix-in this class. class ServerShutdownParams implements RequestParams { @override Map toJson() => {}; @override Request toRequest(String id) { return Request(id, 'server.shutdown', null); } @override bool operator ==(other) { if (other is ServerShutdownParams) { return true; } return false; } @override int get hashCode { return 366630911; } } /// server.shutdown result /// /// Clients may not extend, implement or mix-in this class. class ServerShutdownResult implements ResponseResult { @override Map toJson() => {}; @override Response toResponse(String id) { return Response(id, result: null); } @override bool operator ==(other) { if (other is ServerShutdownResult) { return true; } return false; } @override int get hashCode { return 193626532; } } /// server.status params /// /// { /// "analysis": optional AnalysisStatus /// "pub": optional PubStatus /// } /// /// Clients may not extend, implement or mix-in this class. class ServerStatusParams implements HasToJson { AnalysisStatus _analysis; PubStatus _pub; /// The current status of analysis, including whether analysis is being /// performed and if so what is being analyzed. AnalysisStatus get analysis => _analysis; /// The current status of analysis, including whether analysis is being /// performed and if so what is being analyzed. set analysis(AnalysisStatus value) { _analysis = value; } /// The current status of pub execution, indicating whether we are currently /// running pub. /// /// Note: this status type is deprecated, and is no longer sent by the /// server. PubStatus get pub => _pub; /// The current status of pub execution, indicating whether we are currently /// running pub. /// /// Note: this status type is deprecated, and is no longer sent by the /// server. set pub(PubStatus value) { _pub = value; } ServerStatusParams({AnalysisStatus analysis, PubStatus pub}) { this.analysis = analysis; this.pub = pub; } factory ServerStatusParams.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { AnalysisStatus analysis; if (json.containsKey('analysis')) { analysis = AnalysisStatus.fromJson( jsonDecoder, jsonPath + '.analysis', json['analysis']); } PubStatus pub; if (json.containsKey('pub')) { pub = PubStatus.fromJson(jsonDecoder, jsonPath + '.pub', json['pub']); } return ServerStatusParams(analysis: analysis, pub: pub); } else { throw jsonDecoder.mismatch(jsonPath, 'server.status params', json); } } factory ServerStatusParams.fromNotification(Notification notification) { return ServerStatusParams.fromJson( ResponseDecoder(null), 'params', notification.params); } @override Map toJson() { var result = {}; if (analysis != null) { result['analysis'] = analysis.toJson(); } if (pub != null) { result['pub'] = pub.toJson(); } return result; } Notification toNotification() { return Notification('server.status', toJson()); } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is ServerStatusParams) { return analysis == other.analysis && pub == other.pub; } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, analysis.hashCode); hash = JenkinsSmiHash.combine(hash, pub.hashCode); return JenkinsSmiHash.finish(hash); } } /// TypeHierarchyItem /// /// { /// "classElement": Element /// "displayName": optional String /// "memberElement": optional Element /// "superclass": optional int /// "interfaces": List /// "mixins": List /// "subclasses": List /// } /// /// Clients may not extend, implement or mix-in this class. class TypeHierarchyItem implements HasToJson { Element _classElement; String _displayName; Element _memberElement; int _superclass; List _interfaces; List _mixins; List _subclasses; /// The class element represented by this item. Element get classElement => _classElement; /// The class element represented by this item. set classElement(Element value) { assert(value != null); _classElement = value; } /// The name to be displayed for the class. This field will be omitted if the /// display name is the same as the name of the element. The display name is /// different if there is additional type information to be displayed, such /// as type arguments. String get displayName => _displayName; /// The name to be displayed for the class. This field will be omitted if the /// display name is the same as the name of the element. The display name is /// different if there is additional type information to be displayed, such /// as type arguments. set displayName(String value) { _displayName = value; } /// The member in the class corresponding to the member on which the /// hierarchy was requested. This field will be omitted if the hierarchy was /// not requested for a member or if the class does not have a corresponding /// member. Element get memberElement => _memberElement; /// The member in the class corresponding to the member on which the /// hierarchy was requested. This field will be omitted if the hierarchy was /// not requested for a member or if the class does not have a corresponding /// member. set memberElement(Element value) { _memberElement = value; } /// The index of the item representing the superclass of this class. This /// field will be omitted if this item represents the class Object. int get superclass => _superclass; /// The index of the item representing the superclass of this class. This /// field will be omitted if this item represents the class Object. set superclass(int value) { _superclass = value; } /// The indexes of the items representing the interfaces implemented by this /// class. The list will be empty if there are no implemented interfaces. List get interfaces => _interfaces; /// The indexes of the items representing the interfaces implemented by this /// class. The list will be empty if there are no implemented interfaces. set interfaces(List value) { assert(value != null); _interfaces = value; } /// The indexes of the items representing the mixins referenced by this /// class. The list will be empty if there are no classes mixed in to this /// class. List get mixins => _mixins; /// The indexes of the items representing the mixins referenced by this /// class. The list will be empty if there are no classes mixed in to this /// class. set mixins(List value) { assert(value != null); _mixins = value; } /// The indexes of the items representing the subtypes of this class. The /// list will be empty if there are no subtypes or if this item represents a /// supertype of the pivot type. List get subclasses => _subclasses; /// The indexes of the items representing the subtypes of this class. The /// list will be empty if there are no subtypes or if this item represents a /// supertype of the pivot type. set subclasses(List value) { assert(value != null); _subclasses = value; } TypeHierarchyItem(Element classElement, {String displayName, Element memberElement, int superclass, List interfaces, List mixins, List subclasses}) { this.classElement = classElement; this.displayName = displayName; this.memberElement = memberElement; this.superclass = superclass; if (interfaces == null) { this.interfaces = []; } else { this.interfaces = interfaces; } if (mixins == null) { this.mixins = []; } else { this.mixins = mixins; } if (subclasses == null) { this.subclasses = []; } else { this.subclasses = subclasses; } } factory TypeHierarchyItem.fromJson( JsonDecoder jsonDecoder, String jsonPath, Object json) { json ??= {}; if (json is Map) { Element classElement; if (json.containsKey('classElement')) { classElement = Element.fromJson( jsonDecoder, jsonPath + '.classElement', json['classElement']); } else { throw jsonDecoder.mismatch(jsonPath, 'classElement'); } String displayName; if (json.containsKey('displayName')) { displayName = jsonDecoder.decodeString( jsonPath + '.displayName', json['displayName']); } Element memberElement; if (json.containsKey('memberElement')) { memberElement = Element.fromJson( jsonDecoder, jsonPath + '.memberElement', json['memberElement']); } int superclass; if (json.containsKey('superclass')) { superclass = jsonDecoder.decodeInt(jsonPath + '.superclass', json['superclass']); } List interfaces; if (json.containsKey('interfaces')) { interfaces = jsonDecoder.decodeList(jsonPath + '.interfaces', json['interfaces'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'interfaces'); } List mixins; if (json.containsKey('mixins')) { mixins = jsonDecoder.decodeList( jsonPath + '.mixins', json['mixins'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'mixins'); } List subclasses; if (json.containsKey('subclasses')) { subclasses = jsonDecoder.decodeList(jsonPath + '.subclasses', json['subclasses'], jsonDecoder.decodeInt); } else { throw jsonDecoder.mismatch(jsonPath, 'subclasses'); } return TypeHierarchyItem(classElement, displayName: displayName, memberElement: memberElement, superclass: superclass, interfaces: interfaces, mixins: mixins, subclasses: subclasses); } else { throw jsonDecoder.mismatch(jsonPath, 'TypeHierarchyItem', json); } } @override Map toJson() { var result = {}; result['classElement'] = classElement.toJson(); if (displayName != null) { result['displayName'] = displayName; } if (memberElement != null) { result['memberElement'] = memberElement.toJson(); } if (superclass != null) { result['superclass'] = superclass; } result['interfaces'] = interfaces; result['mixins'] = mixins; result['subclasses'] = subclasses; return result; } @override String toString() => json.encode(toJson()); @override bool operator ==(other) { if (other is TypeHierarchyItem) { return classElement == other.classElement && displayName == other.displayName && memberElement == other.memberElement && superclass == other.superclass && listEqual(interfaces, other.interfaces, (int a, int b) => a == b) && listEqual(mixins, other.mixins, (int a, int b) => a == b) && listEqual(subclasses, other.subclasses, (int a, int b) => a == b); } return false; } @override int get hashCode { var hash = 0; hash = JenkinsSmiHash.combine(hash, classElement.hashCode); hash = JenkinsSmiHash.combine(hash, displayName.hashCode); hash = JenkinsSmiHash.combine(hash, memberElement.hashCode); hash = JenkinsSmiHash.combine(hash, superclass.hashCode); hash = JenkinsSmiHash.combine(hash, interfaces.hashCode); hash = JenkinsSmiHash.combine(hash, mixins.hashCode); hash = JenkinsSmiHash.combine(hash, subclasses.hashCode); return JenkinsSmiHash.finish(hash); } }