Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: pkg/analysis_server/tool/spec/generated/java/types/ImplementedElement.java

Issue 1372623004: New analysis.implemented notification specification. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analysis_server/tool/spec/generated/java/types/ImplementedElement.java
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegion.java b/pkg/analysis_server/tool/spec/generated/java/types/ImplementedElement.java
similarity index 57%
copy from pkg/analysis_server/tool/spec/generated/java/types/HighlightRegion.java
copy to pkg/analysis_server/tool/spec/generated/java/types/ImplementedElement.java
index 7a8e83c10ed273c9caea4929de546d3d29378ecf..750ae3e83628d0fb53842fbc6fbe235d90674877 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegion.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/ImplementedElement.java
@@ -32,69 +32,65 @@ import java.util.Iterator;
import org.apache.commons.lang3.StringUtils;
/**
- * A description of a region that could have special highlighting associated with it.
+ * A description of a class or class member that is implemented by other classes or class members.
*
* @coverage dart.server.generated.types
*/
@SuppressWarnings("unused")
-public class HighlightRegion {
+public class ImplementedElement {
- public static final HighlightRegion[] EMPTY_ARRAY = new HighlightRegion[0];
+ public static final ImplementedElement[] EMPTY_ARRAY = new ImplementedElement[0];
- public static final List<HighlightRegion> EMPTY_LIST = Lists.newArrayList();
+ public static final List<ImplementedElement> EMPTY_LIST = Lists.newArrayList();
/**
- * The type of highlight associated with the region.
+ * The offset of the name of the implemented element.
*/
- private final String type;
+ private final int offset;
/**
- * The offset of the region to be highlighted.
+ * The length of the name of the implemented element.
*/
- private final int offset;
+ private final int length;
/**
- * The length of the region to be highlighted.
+ * The classes or class members that implement this element.
*/
- private final int length;
+ private final List<Implementation> implementations;
/**
- * Constructor for {@link HighlightRegion}.
+ * Constructor for {@link ImplementedElement}.
*/
- public HighlightRegion(String type, int offset, int length) {
- this.type = type;
+ public ImplementedElement(int offset, int length, List<Implementation> implementations) {
this.offset = offset;
this.length = length;
- }
-
- public boolean containsInclusive(int x) {
- return offset <= x && x <= offset + length;
+ this.implementations = implementations;
}
@Override
public boolean equals(Object obj) {
- if (obj instanceof HighlightRegion) {
- HighlightRegion other = (HighlightRegion) obj;
+ if (obj instanceof ImplementedElement) {
+ ImplementedElement other = (ImplementedElement) obj;
return
- ObjectUtilities.equals(other.type, type) &&
other.offset == offset &&
- other.length == length;
+ other.length == length &&
+ ObjectUtilities.equals(other.implementations, implementations);
}
return false;
}
- public static HighlightRegion fromJson(JsonObject jsonObject) {
- String type = jsonObject.get("type").getAsString();
+ public static ImplementedElement fromJson(JsonObject jsonObject) {
int offset = jsonObject.get("offset").getAsInt();
int length = jsonObject.get("length").getAsInt();
- return new HighlightRegion(type, offset, length);
+ List<Implementation> implementations = jsonObject.get("implementations") == null ? null : Implementation.fromJsonArray(jsonObject.get("implementations").getAsJsonArray());
+ return new ImplementedElement(offset, length, implementations);
}
- public static List<HighlightRegion> fromJsonArray(JsonArray jsonArray) {
+ public static List<ImplementedElement> fromJsonArray(JsonArray jsonArray) {
if (jsonArray == null) {
return EMPTY_LIST;
}
- ArrayList<HighlightRegion> list = new ArrayList<HighlightRegion>(jsonArray.size());
+ ArrayList<ImplementedElement> list = new ArrayList<ImplementedElement>(jsonArray.size());
Iterator<JsonElement> iterator = jsonArray.iterator();
while (iterator.hasNext()) {
list.add(fromJson(iterator.next().getAsJsonObject()));
@@ -103,40 +99,46 @@ public class HighlightRegion {
}
/**
- * The length of the region to be highlighted.
+ * The classes or class members that implement this element.
*/
- public int getLength() {
- return length;
+ public List<Implementation> getImplementations() {
+ return implementations;
}
/**
- * The offset of the region to be highlighted.
+ * The length of the name of the implemented element.
*/
- public int getOffset() {
- return offset;
+ public int getLength() {
+ return length;
}
/**
- * The type of highlight associated with the region.
+ * The offset of the name of the implemented element.
*/
- public String getType() {
- return type;
+ public int getOffset() {
+ return offset;
}
@Override
public int hashCode() {
HashCodeBuilder builder = new HashCodeBuilder();
- builder.append(type);
builder.append(offset);
builder.append(length);
+ builder.append(implementations);
return builder.toHashCode();
}
public JsonObject toJson() {
JsonObject jsonObject = new JsonObject();
- jsonObject.addProperty("type", type);
jsonObject.addProperty("offset", offset);
jsonObject.addProperty("length", length);
+ if (implementations != null) {
+ JsonArray jsonArrayImplementations = new JsonArray();
+ for (Implementation elt : implementations) {
+ jsonArrayImplementations.add(elt.toJson());
+ }
+ jsonObject.add("implementations", jsonArrayImplementations);
+ }
return jsonObject;
}
@@ -144,12 +146,12 @@ public class HighlightRegion {
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("[");
- builder.append("type=");
- builder.append(type + ", ");
builder.append("offset=");
builder.append(offset + ", ");
builder.append("length=");
- builder.append(length);
+ builder.append(length + ", ");
+ builder.append("implementations=");
+ builder.append(StringUtils.join(implementations, ", "));
builder.append("]");
return builder.toString();
}

Powered by Google App Engine
This is Rietveld 408576698