| Index: pkg/analyzer_plugin/lib/protocol/protocol_common.dart
|
| diff --git a/pkg/analyzer_plugin/lib/protocol/protocol_common.dart b/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
|
| index 4967bcf8c8f0235dedb6206bd2bac3c557cc0c0b..5d408662afb1ebd0335207913e6e9bcc4711a369 100644
|
| --- a/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
|
| +++ b/pkg/analyzer_plugin/lib/protocol/protocol_common.dart
|
| @@ -2940,10 +2940,10 @@ class HighlightRegionType implements Enum {
|
| *
|
| * {
|
| * "source": KytheVName
|
| - * "kind": String
|
| - * "target": KytheVName
|
| + * "kind": optional String
|
| + * "target": optional KytheVName
|
| * "fact": String
|
| - * "value": List<int>
|
| + * "value": optional List<int>
|
| * }
|
| *
|
| * Clients may not extend, implement or mix-in this class.
|
| @@ -2960,12 +2960,12 @@ class KytheEntry implements HasToJson {
|
| List<int> _value;
|
|
|
| /**
|
| - * The ticket of the source node (must not be empty).
|
| + * The ticket of the source node.
|
| */
|
| KytheVName get source => _source;
|
|
|
| /**
|
| - * The ticket of the source node (must not be empty).
|
| + * The ticket of the source node.
|
| */
|
| void set source(KytheVName value) {
|
| assert(value != null);
|
| @@ -2973,42 +2973,36 @@ class KytheEntry implements HasToJson {
|
| }
|
|
|
| /**
|
| - * An edge label (may be empty). The schema defines which labels are
|
| - * meaningful.
|
| + * An edge label. The schema defines which labels are meaningful.
|
| */
|
| String get kind => _kind;
|
|
|
| /**
|
| - * An edge label (may be empty). The schema defines which labels are
|
| - * meaningful.
|
| + * An edge label. The schema defines which labels are meaningful.
|
| */
|
| void set kind(String value) {
|
| - assert(value != null);
|
| this._kind = value;
|
| }
|
|
|
| /**
|
| - * The ticket of the target node (may be empty).
|
| + * The ticket of the target node.
|
| */
|
| KytheVName get target => _target;
|
|
|
| /**
|
| - * The ticket of the target node (may be empty).
|
| + * The ticket of the target node.
|
| */
|
| void set target(KytheVName value) {
|
| - assert(value != null);
|
| this._target = value;
|
| }
|
|
|
| /**
|
| - * A fact label (must not be empty). The schema defines which fact labels are
|
| - * meaningful.
|
| + * A fact label. The schema defines which fact labels are meaningful.
|
| */
|
| String get fact => _fact;
|
|
|
| /**
|
| - * A fact label (must not be empty). The schema defines which fact labels are
|
| - * meaningful.
|
| + * A fact label. The schema defines which fact labels are meaningful.
|
| */
|
| void set fact(String value) {
|
| assert(value != null);
|
| @@ -3016,20 +3010,19 @@ class KytheEntry implements HasToJson {
|
| }
|
|
|
| /**
|
| - * The String value of the fact (may be empty).
|
| + * The String value of the fact.
|
| */
|
| List<int> get value => _value;
|
|
|
| /**
|
| - * The String value of the fact (may be empty).
|
| + * The String value of the fact.
|
| */
|
| void set value(List<int> value) {
|
| - assert(value != null);
|
| this._value = value;
|
| }
|
|
|
| - KytheEntry(KytheVName source, String kind, KytheVName target, String fact,
|
| - List<int> value) {
|
| + KytheEntry(KytheVName source, String fact,
|
| + {String kind, KytheVName target, List<int> value}) {
|
| this.source = source;
|
| this.kind = kind;
|
| this.target = target;
|
| @@ -3053,15 +3046,11 @@ class KytheEntry implements HasToJson {
|
| String kind;
|
| if (json.containsKey("kind")) {
|
| kind = jsonDecoder.decodeString(jsonPath + ".kind", json["kind"]);
|
| - } else {
|
| - throw jsonDecoder.mismatch(jsonPath, "kind");
|
| }
|
| KytheVName target;
|
| if (json.containsKey("target")) {
|
| target = new KytheVName.fromJson(
|
| jsonDecoder, jsonPath + ".target", json["target"]);
|
| - } else {
|
| - throw jsonDecoder.mismatch(jsonPath, "target");
|
| }
|
| String fact;
|
| if (json.containsKey("fact")) {
|
| @@ -3073,10 +3062,9 @@ class KytheEntry implements HasToJson {
|
| if (json.containsKey("value")) {
|
| value = jsonDecoder.decodeList(
|
| jsonPath + ".value", json["value"], jsonDecoder.decodeInt);
|
| - } else {
|
| - throw jsonDecoder.mismatch(jsonPath, "value");
|
| }
|
| - return new KytheEntry(source, kind, target, fact, value);
|
| + return new KytheEntry(source, fact,
|
| + kind: kind, target: target, value: value);
|
| } else {
|
| throw jsonDecoder.mismatch(jsonPath, "KytheEntry", json);
|
| }
|
| @@ -3086,10 +3074,16 @@ class KytheEntry implements HasToJson {
|
| Map<String, dynamic> toJson() {
|
| Map<String, dynamic> result = {};
|
| result["source"] = source.toJson();
|
| - result["kind"] = kind;
|
| - result["target"] = target.toJson();
|
| + if (kind != null) {
|
| + result["kind"] = kind;
|
| + }
|
| + if (target != null) {
|
| + result["target"] = target.toJson();
|
| + }
|
| result["fact"] = fact;
|
| - result["value"] = value;
|
| + if (value != null) {
|
| + result["value"] = value;
|
| + }
|
| return result;
|
| }
|
|
|
|
|