refactoring: reducing code duplication

This commit is contained in:
rusefillc 2022-10-27 19:51:06 -04:00
parent 82116cf998
commit 476bf26b92
4 changed files with 16 additions and 8 deletions

View File

@ -12,8 +12,7 @@ public class ExtraUtil {
if (firingEnumFileName != null) {
SystemOut.println("Reading firing from " + firingEnumFileName);
String result = FiringOrderTSLogic.invoke(firingEnumFileName);
variableRegistry.register("FIRINGORDER", result);
parseState.addDefinition("FIRINGORDER", result, Definition.OverwritePolicy.NotAllowed);
parseState.addDefinition(variableRegistry, "FIRINGORDER", result, Definition.OverwritePolicy.NotAllowed);
}
}

View File

@ -64,8 +64,8 @@ public class IoUtil2 {
// nasty trick - do not insert signature into live data files
if (tsPath != null) {
state.variableRegistry.register(ConfigDefinition.SIGNATURE_HASH, "" + crc32);
parseState.addDefinition(ConfigDefinition.SIGNATURE_HASH, Long.toString(crc32), Definition.OverwritePolicy.NotAllowed);
parseState.addDefinition(state.variableRegistry,
ConfigDefinition.SIGNATURE_HASH, Long.toString(crc32), Definition.OverwritePolicy.NotAllowed);
}
}
}

View File

@ -87,11 +87,9 @@ public class PinoutLogic {
EnumPair pair = enumToOptionsList(nothingName, enumList, kv.getValue());
if (pair.getSimpleForm().length() > 0) {
// we seem to be here if specific pin category like switch_inputs has no pins
registry.register(outputEnumName + ENUM_SUFFIX, pair.getShorterForm());
parseState.addDefinition(outputEnumName + ENUM_SUFFIX, pair.getShorterForm(), Definition.OverwritePolicy.IgnoreNew);
parseState.addDefinition(registry, outputEnumName + ENUM_SUFFIX, pair.getShorterForm(), Definition.OverwritePolicy.IgnoreNew);
}
registry.register(outputEnumName + FULL_JAVA_ENUM, pair.getSimpleForm());
parseState.addDefinition(outputEnumName + FULL_JAVA_ENUM, pair.getSimpleForm(), Definition.OverwritePolicy.IgnoreNew);
parseState.addDefinition(registry, outputEnumName + FULL_JAVA_ENUM, pair.getSimpleForm(), Definition.OverwritePolicy.IgnoreNew);
}
}

View File

@ -1,6 +1,7 @@
package com.rusefi.newparse;
import com.rusefi.EnumsReader;
import com.rusefi.VariableRegistry;
import com.rusefi.enum_reader.Value;
import com.rusefi.generated.RusefiConfigGrammarBaseListener;
import com.rusefi.generated.RusefiConfigGrammarParser;
@ -112,6 +113,16 @@ public class ParseState {
return definitions.getOrDefault(name, null);
}
/**
* we are in a lengthy period of transition between two implementations
*/
public void addDefinition(VariableRegistry variableRegistry, String name, String value, Definition.OverwritePolicy overwritePolicy) {
// old implementation
variableRegistry.register(name, name);
// new implementation
addDefinition(name, value, overwritePolicy);
}
public void addDefinition(String name, Object value, Definition.OverwritePolicy overwritePolicy) {
Definition existingDefinition = definitions.getOrDefault(name, null);