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; |
} |