From e050d0a64aaed66a1fe614793e4bbdc3f3d30c32 Mon Sep 17 00:00:00 2001 From: Igor Maznitsa Date: Sat, 24 Nov 2018 18:36:37 +0200 Subject: [PATCH] minor refactoring --- .../igormaznitsa/jbbp/plugin/gradle/JBBPGenerateTask.java | 4 +++- .../com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java | 3 ++- .../jbbp/plugin/common/converters/Java16Converter.java | 4 +++- jbbp/src/main/java/com/igormaznitsa/jbbp/JBBPParser.java | 6 ++++-- .../com/igormaznitsa/jbbp/compiler/JBBPCompiledBlock.java | 6 +++++- .../java/com/igormaznitsa/jbbp/compiler/JBBPCompiler.java | 6 ++---- .../jbbp/compiler/varlen/JBBPExpressionEvaluator.java | 4 +++- .../jbbp/io/AbstractMappedClassFieldObserver.java | 2 +- .../java/com/igormaznitsa/jbbp/model/JBBPFieldStruct.java | 4 +++- .../jbbp/utils/JBBPCustomFieldTypeProcessorAggregator.java | 4 +++- .../java/com/igormaznitsa/jbbp/utils/JBBPDslBuilder.java | 2 +- .../main/java/com/igormaznitsa/jbbp/utils/JBBPUtils.java | 3 +++ .../conversion/JBBPToJava6ConverterReadWriteTest.java | 1 - .../src/test/java/com/igormaznitsa/jbbp/io/JBBPOutTest.java | 1 - .../java/com/igormaznitsa/jbbp/it/Z80_v1_ParsingTest.java | 1 - .../com/igormaznitsa/jbbp/model/JBBPFieldStringTest.java | 3 ++- .../com/igormaznitsa/jbbp/benchmarks/JBBP_Benchmark.java | 1 - 17 files changed, 35 insertions(+), 20 deletions(-) diff --git a/jbbp-plugins/jbbp-gradle/src/main/java/com/igormaznitsa/jbbp/plugin/gradle/JBBPGenerateTask.java b/jbbp-plugins/jbbp-gradle/src/main/java/com/igormaznitsa/jbbp/plugin/gradle/JBBPGenerateTask.java index e9b5fc31..bdf5d808 100644 --- a/jbbp-plugins/jbbp-gradle/src/main/java/com/igormaznitsa/jbbp/plugin/gradle/JBBPGenerateTask.java +++ b/jbbp-plugins/jbbp-gradle/src/main/java/com/igormaznitsa/jbbp/plugin/gradle/JBBPGenerateTask.java @@ -28,6 +28,8 @@ import java.util.Locale; import java.util.Set; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_STRING_EMPTY; + /** * Task to translate found JBBP scripts in source files. * @@ -58,7 +60,7 @@ protected void doTaskAction(@Nonnull final JBBPExtension ext) { } getLogger().debug("Defined normalized custom types : " + normalizedCustomTypeNames); } - final String[] customTypesArray = normalizedCustomTypeNames.toArray(new String[normalizedCustomTypeNames.size()]); + final String[] customTypesArray = normalizedCustomTypeNames.toArray(ARRAY_STRING_EMPTY); final JBBPCustomFieldTypeProcessor customFieldProcessor = new JBBPCustomFieldTypeProcessor() { @Override diff --git a/jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/main/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java b/jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/main/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java index 1df44d58..505b3ebf 100644 --- a/jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/main/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java +++ b/jbbp-plugins/jbbp-maven/jbbp-maven-plugin/src/main/java/com/igormaznitsa/jbbp/plugin/mvn/JBBPGenerateMojo.java @@ -44,6 +44,7 @@ import java.util.Set; import static com.igormaznitsa.jbbp.plugin.common.utils.CommonUtils.ensureEncodingName; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_STRING_EMPTY; /** * The Mojo looks for all JBBP scripts in source and generate sources. @@ -330,7 +331,7 @@ protected void executeMojo() throws MojoExecutionException, MojoFailureException } getLog().debug("Defined normalized custom types : " + normalizedCustomTypeNames); - final String[] customTypesArray = normalizedCustomTypeNames.toArray(new String[normalizedCustomTypeNames.size()]); + final String[] customTypesArray = normalizedCustomTypeNames.toArray(ARRAY_STRING_EMPTY); final JBBPCustomFieldTypeProcessor customFieldProcessor = new JBBPCustomFieldTypeProcessor() { @Override diff --git a/jbbp-plugins/jbbp-plugin-common/src/main/java/com/igormaznitsa/jbbp/plugin/common/converters/Java16Converter.java b/jbbp-plugins/jbbp-plugin-common/src/main/java/com/igormaznitsa/jbbp/plugin/common/converters/Java16Converter.java index aa3053ef..2810ca2f 100644 --- a/jbbp-plugins/jbbp-plugin-common/src/main/java/com/igormaznitsa/jbbp/plugin/common/converters/Java16Converter.java +++ b/jbbp-plugins/jbbp-plugin-common/src/main/java/com/igormaznitsa/jbbp/plugin/common/converters/Java16Converter.java @@ -15,6 +15,8 @@ import java.util.Collections; import java.util.Set; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_STRING_EMPTY; + public class Java16Converter implements JBBPScriptTranslator { @Override @Nonnull @@ -33,7 +35,7 @@ public Set translate(@Nonnull final Parameters parameters, final boolean d final JBBPParser parser = JBBPParser.prepare(text, JBBPBitOrder.LSB0, parameters.customFieldTypeProcessor, parameters.getParserFlags()); - final String[] implementsSorted = parameters.getClassImplements().toArray(new String[parameters.getClassImplements().size()]); + final String[] implementsSorted = parameters.getClassImplements().toArray(ARRAY_STRING_EMPTY); Arrays.sort(implementsSorted); final JBBPToJava6Converter.Builder builder = JBBPToJava6Converter.makeBuilder(parser) diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/JBBPParser.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/JBBPParser.java index e7644f8b..d9fe1c46 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/JBBPParser.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/JBBPParser.java @@ -68,6 +68,8 @@ import java.util.Map; import java.util.Properties; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_FIELD_EMPTY; + /** * the Main class allows a user to parse a binary stream or block for predefined * and precompiled script. @@ -508,7 +510,7 @@ private List parseStruct(final JBBPBitInputStream inStream, f // skip offset JBBPUtils.unpackInt(compiled, positionAtCompiledBlock); if (resultNotIgnored) { - structureFields.add(new JBBPFieldStruct(name, structFields.toArray(new JBBPAbstractField[structFields.size()]))); + structureFields.add(new JBBPFieldStruct(name, structFields.toArray(ARRAY_FIELD_EMPTY))); } } else { final int nameFieldCurrent = positionAtNamedFieldList.get(); @@ -533,7 +535,7 @@ private List parseStruct(final JBBPBitInputStream inStream, f } } - result = list.isEmpty() ? EMPTY_STRUCT_ARRAY : list.toArray(new JBBPFieldStruct[list.size()]); + result = list.isEmpty() ? EMPTY_STRUCT_ARRAY : list.toArray(EMPTY_STRUCT_ARRAY); } else { // read number of items if (arrayLength == 0) { diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiledBlock.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiledBlock.java index 9b9c2ad4..b0c10432 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiledBlock.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiledBlock.java @@ -33,6 +33,10 @@ */ public final class JBBPCompiledBlock { + private static final JBBPNamedFieldInfo[] ARRAY_FIELDINFO_EMPTY = new JBBPNamedFieldInfo[0]; + private static final JBBPIntegerValueEvaluator[] ARRAY_INTEVALUATOR_EMPTY = new JBBPIntegerValueEvaluator[0]; + private static final JBBPFieldTypeParameterContainer[] ARRAY_FIELDTYPE_EMPTY = new JBBPFieldTypeParameterContainer[0]; + /** * The Array of named field info items. */ @@ -211,7 +215,7 @@ public JBBPCompiledBlock build() { JBBPUtils.assertNotNull(source, "Source is not defined"); JBBPUtils.assertNotNull(compiledData, "Compiled data is not defined"); - return new JBBPCompiledBlock(this.source, this.namedFields.toArray(new JBBPNamedFieldInfo[this.namedFields.size()]), this.varLenProcessors.isEmpty() ? null : this.varLenProcessors.toArray(new JBBPIntegerValueEvaluator[this.varLenProcessors.size()]), this.compiledData, this.hasVarFields, this.customTypeFields.toArray(new JBBPFieldTypeParameterContainer[this.customTypeFields.size()])); + return new JBBPCompiledBlock(this.source, this.namedFields.toArray(ARRAY_FIELDINFO_EMPTY), this.varLenProcessors.isEmpty() ? null : this.varLenProcessors.toArray(ARRAY_INTEVALUATOR_EMPTY), this.compiledData, this.hasVarFields, this.customTypeFields.toArray(ARRAY_FIELDTYPE_EMPTY)); } /** diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiler.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiler.java index d89e2b77..ac9bfc19 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiler.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/JBBPCompiler.java @@ -163,15 +163,13 @@ private static void assertTokenNotArray(final String fieldType, final JBBPToken private static void assertTokenNamed(final String fieldType, final JBBPToken token) { if (token.getFieldName() == null) { - final String fieldName = token.getFieldName() == null ? "" : token.getFieldName(); - throw new JBBPCompilationException('\'' + fieldType + "' must be named (" + fieldName + ')', token); + throw new JBBPCompilationException('\'' + fieldType + "' must be named", token); } } private static void assertTokenNotNamed(final String fieldType, final JBBPToken token) { if (token.getFieldName() != null) { - final String fieldName = token.getFieldName() == null ? "" : token.getFieldName(); - throw new JBBPCompilationException('\'' + fieldType + "' must not be named (" + fieldName + ')', token); + throw new JBBPCompilationException('\'' + fieldType + "' must not be named (" + token.getFieldName() + ')', token); } } diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/varlen/JBBPExpressionEvaluator.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/varlen/JBBPExpressionEvaluator.java index 95e49d20..2994fd43 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/varlen/JBBPExpressionEvaluator.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/compiler/varlen/JBBPExpressionEvaluator.java @@ -35,6 +35,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_STRING_EMPTY; + /** * The Class implements an evaluator which can calculate an expression. * @@ -399,7 +401,7 @@ public JBBPExpressionEvaluator(final String expression, final List fields) { - this(name, fields.toArray(new JBBPAbstractField[fields.size()])); + this(name, fields.toArray(ARRAY_FIELD_EMPTY)); } /** diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPCustomFieldTypeProcessorAggregator.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPCustomFieldTypeProcessorAggregator.java index 3f87a533..5ef2fd36 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPCustomFieldTypeProcessorAggregator.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPCustomFieldTypeProcessorAggregator.java @@ -27,6 +27,8 @@ import java.util.HashMap; import java.util.Map; +import static com.igormaznitsa.jbbp.utils.JBBPUtils.ARRAY_STRING_EMPTY; + /** * The Aggregator allows to join several custom field type processors. * @@ -52,7 +54,7 @@ public JBBPCustomFieldTypeProcessorAggregator(final JBBPCustomFieldTypeProcessor this.customTypeMap.put(s, p); } } - this.types = this.customTypeMap.keySet().toArray(new String[this.customTypeMap.size()]); + this.types = this.customTypeMap.keySet().toArray(ARRAY_STRING_EMPTY); } @Override diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPDslBuilder.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPDslBuilder.java index cc16c35a..92e5bec0 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPDslBuilder.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPDslBuilder.java @@ -1494,7 +1494,7 @@ public String End(final boolean format) { } else if (item instanceof ItemAlign) { doTabs(format, buffer, structCounter).append("align").append(item.sizeExpression == null ? "" : ':' + item.makeExpressionForExtraField(item.sizeExpression)).append(';'); } else if (item instanceof ItemVal) { - doTabs(format, buffer, structCounter).append("val").append(':' + item.makeExpressionForExtraField(item.sizeExpression)).append(' ').append(item.name).append(';'); + doTabs(format, buffer, structCounter).append("val").append(':').append(item.makeExpressionForExtraField(item.sizeExpression)).append(' ').append(item.name).append(';'); } else if (item instanceof ItemResetCounter) { doTabs(format, buffer, structCounter).append("reset$$;"); } else if (item instanceof ItemSkip) { diff --git a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPUtils.java b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPUtils.java index e2db6fab..c684bb75 100644 --- a/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPUtils.java +++ b/jbbp/src/main/java/com/igormaznitsa/jbbp/utils/JBBPUtils.java @@ -38,6 +38,9 @@ */ public final class JBBPUtils { + public static final String [] ARRAY_STRING_EMPTY = new String[0]; + public static final JBBPAbstractField[] ARRAY_FIELD_EMPTY = new JBBPAbstractField[0]; + private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8"); private JBBPUtils() { diff --git a/jbbp/src/test/java/com/igormaznitsa/jbbp/compiler/conversion/JBBPToJava6ConverterReadWriteTest.java b/jbbp/src/test/java/com/igormaznitsa/jbbp/compiler/conversion/JBBPToJava6ConverterReadWriteTest.java index ff5bab09..fdc2e3f3 100644 --- a/jbbp/src/test/java/com/igormaznitsa/jbbp/compiler/conversion/JBBPToJava6ConverterReadWriteTest.java +++ b/jbbp/src/test/java/com/igormaznitsa/jbbp/compiler/conversion/JBBPToJava6ConverterReadWriteTest.java @@ -38,7 +38,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.util.Collections; import java.util.HashMap; import java.util.Map; diff --git a/jbbp/src/test/java/com/igormaznitsa/jbbp/io/JBBPOutTest.java b/jbbp/src/test/java/com/igormaznitsa/jbbp/io/JBBPOutTest.java index 69e8dff0..f3aef887 100644 --- a/jbbp/src/test/java/com/igormaznitsa/jbbp/io/JBBPOutTest.java +++ b/jbbp/src/test/java/com/igormaznitsa/jbbp/io/JBBPOutTest.java @@ -29,7 +29,6 @@ import java.io.DataOutputStream; import java.io.IOException; import java.lang.reflect.Field; -import java.util.Arrays; import static com.igormaznitsa.jbbp.io.JBBPOut.BeginBin; import static org.junit.jupiter.api.Assertions.*; diff --git a/jbbp/src/test/java/com/igormaznitsa/jbbp/it/Z80_v1_ParsingTest.java b/jbbp/src/test/java/com/igormaznitsa/jbbp/it/Z80_v1_ParsingTest.java index 97dced7e..73f199a6 100644 --- a/jbbp/src/test/java/com/igormaznitsa/jbbp/it/Z80_v1_ParsingTest.java +++ b/jbbp/src/test/java/com/igormaznitsa/jbbp/it/Z80_v1_ParsingTest.java @@ -20,7 +20,6 @@ import com.igormaznitsa.jbbp.io.JBBPBitNumber; import com.igormaznitsa.jbbp.io.JBBPBitOrder; import com.igormaznitsa.jbbp.io.JBBPBitOutputStream; -import com.igormaznitsa.jbbp.io.JBBPByteOrder; import com.igormaznitsa.jbbp.io.JBBPCustomFieldWriter; import com.igormaznitsa.jbbp.io.JBBPOut; import com.igormaznitsa.jbbp.io.JBBPOutVarProcessor; diff --git a/jbbp/src/test/java/com/igormaznitsa/jbbp/model/JBBPFieldStringTest.java b/jbbp/src/test/java/com/igormaznitsa/jbbp/model/JBBPFieldStringTest.java index ea88972d..7a7e0f67 100644 --- a/jbbp/src/test/java/com/igormaznitsa/jbbp/model/JBBPFieldStringTest.java +++ b/jbbp/src/test/java/com/igormaznitsa/jbbp/model/JBBPFieldStringTest.java @@ -3,7 +3,8 @@ import com.igormaznitsa.jbbp.compiler.JBBPNamedFieldInfo; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; public class JBBPFieldStringTest { diff --git a/jbbp/src/test/jmh/com/igormaznitsa/jbbp/benchmarks/JBBP_Benchmark.java b/jbbp/src/test/jmh/com/igormaznitsa/jbbp/benchmarks/JBBP_Benchmark.java index dcbfa0ec..337fc3fb 100644 --- a/jbbp/src/test/jmh/com/igormaznitsa/jbbp/benchmarks/JBBP_Benchmark.java +++ b/jbbp/src/test/jmh/com/igormaznitsa/jbbp/benchmarks/JBBP_Benchmark.java @@ -20,7 +20,6 @@ import com.igormaznitsa.jbbp.io.JBBPBitInputStream; import com.igormaznitsa.jbbp.mapper.Bin; import com.igormaznitsa.jbbp.mapper.BinType; -import com.igormaznitsa.jbbp.utils.TargetSources; import org.openjdk.jmh.annotations.Benchmark; import java.io.ByteArrayInputStream;