Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
OverrideMember.java
Go to the documentation of this file.
1/*
2 * Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
3 * for details. All rights reserved. Use of this source code is governed by a
4 * BSD-style license that can be found in the LICENSE file.
5 *
6 * This file has been automatically generated. Please do not edit it manually.
7 * To regenerate the file, use the script "pkg/analysis_server/tool/spec/generate_files".
8 */
9package org.dartlang.analysis.server.protocol;
10
11import java.util.Arrays;
12import java.util.List;
13import java.util.Map;
14import com.google.common.collect.Lists;
15import com.google.dart.server.utilities.general.JsonUtilities;
16import com.google.dart.server.utilities.general.ObjectUtilities;
17import com.google.gson.JsonArray;
18import com.google.gson.JsonElement;
19import com.google.gson.JsonObject;
20import com.google.gson.JsonPrimitive;
21import org.apache.commons.lang3.builder.HashCodeBuilder;
22import java.util.ArrayList;
23import java.util.Iterator;
24import org.apache.commons.lang3.StringUtils;
25
26/**
27 * A description of a member that overrides an inherited member.
28 *
29 * @coverage dart.server.generated.types
30 */
31@SuppressWarnings("unused")
32public class OverrideMember {
33
34 public static final OverrideMember[] EMPTY_ARRAY = new OverrideMember[0];
35
36 public static final List<OverrideMember> EMPTY_LIST = Lists.newArrayList();
37
38 /**
39 * The offset of the name of the overriding member.
40 */
41 private final int offset;
42
43 /**
44 * The length of the name of the overriding member.
45 */
46 private final int length;
47
48 /**
49 * The member inherited from a superclass that is overridden by the overriding member. The field is
50 * omitted if there is no superclass member, in which case there must be at least one interface
51 * member.
52 */
53 private final OverriddenMember superclassMember;
54
55 /**
56 * The members inherited from interfaces that are overridden by the overriding member. The field is
57 * omitted if there are no interface members, in which case there must be a superclass member.
58 */
59 private final List<OverriddenMember> interfaceMembers;
60
61 /**
62 * Constructor for {@link OverrideMember}.
63 */
64 public OverrideMember(int offset, int length, OverriddenMember superclassMember, List<OverriddenMember> interfaceMembers) {
65 this.offset = offset;
66 this.length = length;
67 this.superclassMember = superclassMember;
68 this.interfaceMembers = interfaceMembers;
69 }
70
71 @Override
72 public boolean equals(Object obj) {
73 if (obj instanceof OverrideMember) {
74 OverrideMember other = (OverrideMember) obj;
75 return
76 other.offset == offset &&
77 other.length == length &&
78 ObjectUtilities.equals(other.superclassMember, superclassMember) &&
79 ObjectUtilities.equals(other.interfaceMembers, interfaceMembers);
80 }
81 return false;
82 }
83
84 public static OverrideMember fromJson(JsonObject jsonObject) {
85 int offset = jsonObject.get("offset").getAsInt();
86 int length = jsonObject.get("length").getAsInt();
87 OverriddenMember superclassMember = jsonObject.get("superclassMember") == null ? null : OverriddenMember.fromJson(jsonObject.get("superclassMember").getAsJsonObject());
88 List<OverriddenMember> interfaceMembers = jsonObject.get("interfaceMembers") == null ? null : OverriddenMember.fromJsonArray(jsonObject.get("interfaceMembers").getAsJsonArray());
89 return new OverrideMember(offset, length, superclassMember, interfaceMembers);
90 }
91
92 public static List<OverrideMember> fromJsonArray(JsonArray jsonArray) {
93 if (jsonArray == null) {
94 return EMPTY_LIST;
95 }
96 ArrayList<OverrideMember> list = new ArrayList<OverrideMember>(jsonArray.size());
97 Iterator<JsonElement> iterator = jsonArray.iterator();
98 while (iterator.hasNext()) {
99 list.add(fromJson(iterator.next().getAsJsonObject()));
100 }
101 return list;
102 }
103
104 /**
105 * The members inherited from interfaces that are overridden by the overriding member. The field is
106 * omitted if there are no interface members, in which case there must be a superclass member.
107 */
109 return interfaceMembers;
110 }
111
112 /**
113 * The length of the name of the overriding member.
114 */
115 public int getLength() {
116 return length;
117 }
118
119 /**
120 * The offset of the name of the overriding member.
121 */
122 public int getOffset() {
123 return offset;
124 }
125
126 /**
127 * The member inherited from a superclass that is overridden by the overriding member. The field is
128 * omitted if there is no superclass member, in which case there must be at least one interface
129 * member.
130 */
132 return superclassMember;
133 }
134
135 @Override
136 public int hashCode() {
137 HashCodeBuilder builder = new HashCodeBuilder();
138 builder.append(offset);
139 builder.append(length);
140 builder.append(superclassMember);
141 builder.append(interfaceMembers);
142 return builder.toHashCode();
143 }
144
145 public JsonObject toJson() {
146 JsonObject jsonObject = new JsonObject();
147 jsonObject.addProperty("offset", offset);
148 jsonObject.addProperty("length", length);
149 if (superclassMember != null) {
150 jsonObject.add("superclassMember", superclassMember.toJson());
151 }
152 if (interfaceMembers != null) {
153 JsonArray jsonArrayInterfaceMembers = new JsonArray();
154 for (OverriddenMember elt : interfaceMembers) {
155 jsonArrayInterfaceMembers.add(elt.toJson());
156 }
157 jsonObject.add("interfaceMembers", jsonArrayInterfaceMembers);
158 }
159 return jsonObject;
160 }
161
162 @Override
163 public String toString() {
164 StringBuilder builder = new StringBuilder();
165 builder.append("[");
166 builder.append("offset=");
167 builder.append(offset + ", ");
168 builder.append("length=");
169 builder.append(length + ", ");
170 builder.append("superclassMember=");
171 builder.append(superclassMember + ", ");
172 builder.append("interfaceMembers=");
173 builder.append(StringUtils.join(interfaceMembers, ", "));
174 builder.append("]");
175 return builder.toString();
176 }
177
178}
static OverriddenMember fromJson(JsonObject jsonObject)
static List< OverriddenMember > fromJsonArray(JsonArray jsonArray)
static List< OverrideMember > fromJsonArray(JsonArray jsonArray)
static OverrideMember fromJson(JsonObject jsonObject)
OverrideMember(int offset, int length, OverriddenMember superclassMember, List< OverriddenMember > interfaceMembers)
size_t length
Point offset