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

Unified Diff: third_party/protobuf/java/core/src/main/java/com/google/protobuf/TextFormatParseLocation.java

Issue 1983203003: Update third_party/protobuf to protobuf-v3.0.0-beta-3 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: owners Created 4 years, 7 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: third_party/protobuf/java/core/src/main/java/com/google/protobuf/TextFormatParseLocation.java
diff --git a/third_party/protobuf/java/src/main/java/com/google/protobuf/ProtobufArrayList.java b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/TextFormatParseLocation.java
similarity index 52%
rename from third_party/protobuf/java/src/main/java/com/google/protobuf/ProtobufArrayList.java
rename to third_party/protobuf/java/core/src/main/java/com/google/protobuf/TextFormatParseLocation.java
index d2f82ac5135b3664770afc8968c6fd5873541f70..cce286e10fb49912911ac997ebf302959a3ac5b0 100644
--- a/third_party/protobuf/java/src/main/java/com/google/protobuf/ProtobufArrayList.java
+++ b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/TextFormatParseLocation.java
@@ -30,70 +30,75 @@
package com.google.protobuf;
-import com.google.protobuf.Internal.ProtobufList;
-
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Arrays;
/**
- * Implements {@link ProtobufList} for non-primitive and {@link String} types.
+ * A location in the source code.
+ *
+ * <p>A location is the starting line number and starting column number.
*/
-class ProtobufArrayList<E> extends AbstractProtobufList<E> {
+public final class TextFormatParseLocation {
- private static final ProtobufArrayList<Object> EMPTY_LIST = new ProtobufArrayList<Object>();
- static {
- EMPTY_LIST.makeImmutable();
- }
-
- @SuppressWarnings("unchecked") // Guaranteed safe by runtime.
- public static <E> ProtobufArrayList<E> emptyList() {
- return (ProtobufArrayList<E>) EMPTY_LIST;
- }
-
- private final List<E> list;
-
- ProtobufArrayList() {
- list = new ArrayList<E>();
- }
-
- ProtobufArrayList(List<E> toCopy) {
- list = new ArrayList<E>(toCopy);
+ /**
+ * The empty location.
+ */
+ public static final TextFormatParseLocation EMPTY = new TextFormatParseLocation(-1, -1);
+
+ /**
+ * Create a location.
+ *
+ * @param line the starting line number
+ * @param column the starting column number
+ * @return a {@code ParseLocation}
+ */
+ static TextFormatParseLocation create(int line, int column) {
+ if (line == -1 && column == -1) {
+ return EMPTY;
+ }
+ if (line < 0 || column < 0) {
+ throw new IllegalArgumentException(
+ String.format("line and column values must be >= 0: line %d, column: %d", line, column));
+ }
+ return new TextFormatParseLocation(line, column);
}
-
- ProtobufArrayList(int capacity) {
- list = new ArrayList<E>(capacity);
+
+ private final int line;
+ private final int column;
+
+ private TextFormatParseLocation(int line, int column) {
+ this.line = line;
+ this.column = column;
}
-
- @Override
- public void add(int index, E element) {
- ensureIsMutable();
- list.add(index, element);
- modCount++;
+
+ public int getLine() {
+ return line;
}
- @Override
- public E get(int index) {
- return list.get(index);
+ public int getColumn() {
+ return column;
}
-
+
@Override
- public E remove(int index) {
- ensureIsMutable();
- E toReturn = list.remove(index);
- modCount++;
- return toReturn;
+ public String toString() {
+ return String.format("ParseLocation{line=%d, column=%d}", line, column);
}
-
+
@Override
- public E set(int index, E element) {
- ensureIsMutable();
- E toReturn = list.set(index, element);
- modCount++;
- return toReturn;
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof TextFormatParseLocation)) {
+ return false;
+ }
+ TextFormatParseLocation that = (TextFormatParseLocation) o;
+ return (this.line == that.getLine())
+ && (this.column == that.getColumn());
}
@Override
- public int size() {
- return list.size();
+ public int hashCode() {
+ int[] values = {line, column};
+ return Arrays.hashCode(values);
}
}

Powered by Google App Engine
This is Rietveld 408576698