aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2017-05-16 20:18:46 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-05-17 15:20:55 +0200
commite04253eb9e673634751b29029a5aca0f19e2c753 (patch)
tree001922687265215be3c0bd800fe9bc783e477aaf /src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java
parentba0e2b2930bbda02bfb4a81eb579716709a14809 (diff)
Use one writer for generating R.java source files
RELNOTES: None PiperOrigin-RevId: 156205544
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java b/src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java
index 8442711b88..85679eb484 100644
--- a/src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java
+++ b/src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.android.resources;
import com.google.common.base.MoreObjects;
import java.io.IOException;
import java.io.Writer;
+import java.util.Objects;
import java.util.Set;
import org.objectweb.asm.ClassWriter;
import org.objectweb.asm.commons.InstructionAdapter;
@@ -54,9 +55,11 @@ public final class IntFieldInitializer implements FieldInitializer {
}
@Override
- public void writeInitSource(Writer writer) throws IOException {
- writer.write(String.format(" public static int %s = 0x%x;\n",
- fieldName, value));
+ public void writeInitSource(Writer writer, boolean finalFields) throws IOException {
+ writer.write(
+ String.format(
+ " public static %sint %s = 0x%x;\n",
+ finalFields ? "final " : "", fieldName, value));
}
@Override
@@ -71,4 +74,28 @@ public final class IntFieldInitializer implements FieldInitializer {
.add("value", value)
.toString();
}
+
+ @Override
+ public int compareTo(FieldInitializer other) {
+ if (other instanceof IntFieldInitializer) {
+ return fieldName.compareTo(((IntFieldInitializer) other).fieldName);
+ }
+ // IntFields will go before Intarrays
+ return -1;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(fieldName, value);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof IntFieldInitializer) {
+ IntFieldInitializer other = (IntFieldInitializer) obj;
+ return Objects.equals(fieldName, other.fieldName)
+ && value == other.value;
+ }
+ return false;
+ }
}