Skip to content

Commit ddbf294

Browse files
committed
Fix java
1 parent 95920fe commit ddbf294

5 files changed

Lines changed: 22 additions & 23 deletions

File tree

compiler/extensions/java/runtime/build.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ spotbugs.home_dir - Location of the spotbugs tool. If not set, spo
7878
<condition property="is64bit">
7979
<equals arg1="${os.arch}" arg2="x86_64"/>
8080
</condition>
81+
<condition property="xlint.ignore_this_escape" value="-Xlint:-this-escape" else="-version">
82+
<javaversion atleast="21"/>
83+
</condition>
8184

8285
<!-- check Ant version, minimum is 1.9.1 due to xmlns:if and xmlns:unless -->
8386
<fail message="[ERROR] Ant 1.9.1+ required! Current ant is ${ant.version}.">
@@ -155,6 +158,7 @@ spotbugs.home_dir - Location of the spotbugs tool. If not set, spo
155158
includeAntRuntime="false">
156159
<compilerarg value="-Xlint:all"/>
157160
<compilerarg value="-Xdoclint:all/public"/>
161+
<compilerarg value="-Xdoclint:-missing"/>
158162
<compilerarg value="-Werror"/>
159163
<src path="${zserio_java_runtime.src_dir}"/>
160164
<patternset refid="zserio_java_runtime.sources_patterns"/>
@@ -268,6 +272,7 @@ Command hints to reformat source manually using clang-format tool (in case of fo
268272
includeAntRuntime="false">
269273
<compilerarg value="-Xlint:all"/>
270274
<compilerarg value="-Xlint:-cast"/>
275+
<compilerarg value="${xlint.ignore_this_escape}"/>
271276
<compilerarg value="-Werror"/>
272277
<classpath>
273278
<pathelement path="${zserio_java_runtime.jar_file}"/>

compiler/extensions/java/runtime/src/zserio/runtime/array/ArrayTraits.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,17 +115,11 @@ public static interface IntegralArrayTraits extends ArrayTraits {
115115
*/
116116
public static abstract class IntegralArrayTraitsBase implements IntegralArrayTraits
117117
{
118-
/**
119-
* Constructor.
120-
*/
121-
public IntegralArrayTraitsBase()
122-
{
123-
this.packedArrayTraits = new PackedArrayTraits.IntegralPackedArrayTraits(this);
124-
}
125-
126118
@Override
127119
public PackedArrayTraits getPackedArrayTraits()
128120
{
121+
if (packedArrayTraits == null)
122+
packedArrayTraits = new PackedArrayTraits.IntegralPackedArrayTraits(this);
129123
return packedArrayTraits;
130124
}
131125

@@ -141,7 +135,7 @@ public IntegralArrayElement read(BitStreamReader reader, int index) throws IOExc
141135
return read(reader);
142136
}
143137

144-
private final PackedArrayTraits packedArrayTraits;
138+
private PackedArrayTraits packedArrayTraits;
145139
}
146140

147141
/**

compiler/extensions/java/runtime/src/zserio/runtime/io/ByteArrayBitStreamWriter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ private void writeBitsImpl(final long value, final int numBits) throws IOExcepti
652652
final int shift = 8 - (initialOffset + nBits);
653653
final int mask = -1 >>> (32 - nBits);
654654
partialByte &= ~(mask << shift);
655-
partialByte |= ((value & mask) << shift);
655+
partialByte |= (int)((value & mask) << shift);
656656
buffer[bytePosition] = (byte)partialByte;
657657
bitOffset = initialOffset + nBits;
658658
nBits = 0;
@@ -662,7 +662,7 @@ private void writeBitsImpl(final long value, final int numBits) throws IOExcepti
662662
final int sliceBits = 8 - initialOffset;
663663
final int mask = -1 >>> (32 - sliceBits);
664664
partialByte &= ~mask;
665-
partialByte |= ((value >> (nBits - sliceBits)) & mask);
665+
partialByte |= (int)((value >> (nBits - sliceBits)) & mask);
666666
buffer[bytePosition++] = (byte)partialByte;
667667
nBits -= sliceBits;
668668
}
@@ -692,7 +692,7 @@ private void writeBitsImpl(final long value, final int numBits) throws IOExcepti
692692
final int shift = 8 - nBits;
693693
final int mask = -1 >>> (32 - nBits);
694694
partialByte &= ~(mask << shift);
695-
partialByte |= (value & mask) << shift;
695+
partialByte |= (int)((value & mask) << shift);
696696
buffer[--bytePosition] = (byte)partialByte;
697697
bitOffset = nBits;
698698
}

compiler/extensions/java/runtime/src/zserio/runtime/validation/ValidationBitStreamReader.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ private void setNanMaskBuffer(int startBytePosition, int startBitOffset)
137137
{
138138
// set NaN used by writer (0x7E00) to nanMaskBuffer
139139
final byte nanHighByte = (byte)0x7E;
140-
nanMaskBuffer[startBytePosition] |= (nanHighByte >> startBitOffset);
140+
nanMaskBuffer[startBytePosition] |= (byte)(nanHighByte >> startBitOffset);
141141
if (startBitOffset != 0)
142-
nanMaskBuffer[startBytePosition + 1] |= (nanHighByte << (8 - startBitOffset));
142+
nanMaskBuffer[startBytePosition + 1] |= (byte)(nanHighByte << (8 - startBitOffset));
143143
}
144144

145145
private interface MaskBufferAction
@@ -162,7 +162,7 @@ public void modifyBits(int bytePosition, int bitOffset, int numBits)
162162
// --------|------|------|------|------|------|------|------|------|------|
163163
// mask | 0x00 | 0x01 | 0x03 | 0x07 | 0x0F | 0x1F | 0x3F | 0x7F | 0xFF |
164164
final int mask = (1 << numBits) - 1;
165-
maskBuffer[bytePosition] |= mask << (8 - bitOffset - numBits);
165+
maskBuffer[bytePosition] |= (byte)(mask << (8 - bitOffset - numBits));
166166
}
167167

168168
@Override
@@ -188,7 +188,7 @@ public void modifyBits(int bytePosition, int bitOffset, int numBits)
188188
// --------|------|------|------|------|------|------|------|------|------|
189189
// mask | 0xFF | 0xFE | 0xFC | 0xF8 | 0xF0 | 0xE0 | 0xC0 | 0x80 | 0x00 |
190190
final int mask = ~((1 << numBits) - 1);
191-
maskBuffer[bytePosition] &= mask << (8 - bitOffset - numBits);
191+
maskBuffer[bytePosition] &= (byte)(mask << (8 - bitOffset - numBits));
192192
}
193193

194194
@Override

compiler/extensions/java/runtime/test/zserio/runtime/validation/ValidationBitStreamReaderTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void validationWithSkipBits() throws IOException
115115
changedStream[0] |= 0x40;
116116
changedStream[0] |= 0x0C;
117117
changedStream[1] |= 0x70;
118-
changedStream[2] |= 0xF0;
118+
changedStream[2] |= (byte)0xF0;
119119
changedStream[3] |= 0x7C;
120120
changedStream[3] |= 0x03;
121121

@@ -155,9 +155,9 @@ public void validationWithSkipBytes() throws IOException
155155
System.arraycopy(originalStream, 0, changedStream, 0, changedStream.length);
156156
// put rubbish to the skipped dummy bits and at the end
157157
changedStream[0] |= 0x7F;
158-
changedStream[1] |= 0x80;
158+
changedStream[1] |= (byte)0x80;
159159
changedStream[1] |= 0x1F;
160-
changedStream[2] |= 0xE0;
160+
changedStream[2] |= (byte)0xE0;
161161
changedStream[2] |= 0x03;
162162

163163
try (final ValidationBitStreamReader reader = new ValidationBitStreamReader(changedStream))
@@ -248,8 +248,8 @@ public void validationWithNan() throws IOException
248248
System.arraycopy(originalStream, 0, changedStream, 0, changedStream.length);
249249
// change NaN to binary represantation which is not used by writer
250250
changedStream[0] |= 0x40;
251-
changedStream[1] |= 0xFF;
252-
changedStream[2] |= 0x80;
251+
changedStream[1] |= (byte)0xFF;
252+
changedStream[2] |= (byte)0x80;
253253

254254
try (final ValidationBitStreamReader reader = new ValidationBitStreamReader(changedStream))
255255
{
@@ -277,8 +277,8 @@ public void validationWithNanAndSetPosition() throws IOException
277277
System.arraycopy(originalStream, 0, changedStream, 0, changedStream.length);
278278
// change NaN to binary representation which is not used by writer
279279
changedStream[0] |= 0x40;
280-
changedStream[1] |= 0xFF;
281-
changedStream[2] |= 0x80;
280+
changedStream[1] |= (byte)0xFF;
281+
changedStream[2] |= (byte)0x80;
282282

283283
try (final ValidationBitStreamReader reader = new ValidationBitStreamReader(changedStream))
284284
{

0 commit comments

Comments
 (0)