diff options
author | 2017-05-16 20:18:46 +0200 | |
---|---|---|
committer | 2017-05-17 15:20:55 +0200 | |
commit | e04253eb9e673634751b29029a5aca0f19e2c753 (patch) | |
tree | 001922687265215be3c0bd800fe9bc783e477aaf /src/tools/android/java/com/google/devtools/build/android/resources/IntFieldInitializer.java | |
parent | ba0e2b2930bbda02bfb4a81eb579716709a14809 (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.java | 33 |
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; + } } |