diff --git a/shared/java/javacommon.gradle b/shared/java/javacommon.gradle index 48a506293b0..567b3027aa6 100644 --- a/shared/java/javacommon.gradle +++ b/shared/java/javacommon.gradle @@ -114,6 +114,11 @@ tasks.withType(JavaCompile).configureEach { // ignore missing serialVersionUID warnings "-Xlint:-serial", ] + + // ignore this escape warnings + if (JavaVersion.current().isJava12Compatible()) { + options.compilerArgs.add("-Xlint:-this-escape"); + } } dependencies { diff --git a/wpiutil/src/main/java/edu/wpi/first/util/struct/DynamicStruct.java b/wpiutil/src/main/java/edu/wpi/first/util/struct/DynamicStruct.java index 165f7db1cd6..1f9fdc379a8 100644 --- a/wpiutil/src/main/java/edu/wpi/first/util/struct/DynamicStruct.java +++ b/wpiutil/src/main/java/edu/wpi/first/util/struct/DynamicStruct.java @@ -593,24 +593,24 @@ private void setFieldImpl(StructFieldDescriptor field, long value, int arrIndex) case 1: { byte val = m_data.get(field.m_offset + arrIndex); - val &= ~(field.getBitMask() << field.m_bitShift); - val |= (value & field.getBitMask()) << field.m_bitShift; + val &= (byte) ~(field.getBitMask() << field.m_bitShift); + val |= (byte) ((value & field.getBitMask()) << field.m_bitShift); m_data.put(field.m_offset + arrIndex, val); break; } case 2: { short val = m_data.getShort(field.m_offset + arrIndex * 2); - val &= ~(field.getBitMask() << field.m_bitShift); - val |= (value & field.getBitMask()) << field.m_bitShift; + val &= (short) ~(field.getBitMask() << field.m_bitShift); + val |= (short) ((value & field.getBitMask()) << field.m_bitShift); m_data.putShort(field.m_offset + arrIndex * 2, val); break; } case 4: { int val = m_data.getInt(field.m_offset + arrIndex * 4); - val &= ~(field.getBitMask() << field.m_bitShift); - val |= (value & field.getBitMask()) << field.m_bitShift; + val &= (int) ~(field.getBitMask() << field.m_bitShift); + val |= (int) ((value & field.getBitMask()) << field.m_bitShift); m_data.putInt(field.m_offset + arrIndex * 4, val); break; }