let's not ignore weird lines while prepending

This commit is contained in:
rusefillc 2024-04-03 21:32:01 -04:00 committed by rusefillc
parent f8763e96a7
commit 617a08888b
7 changed files with 11 additions and 11 deletions

View File

@ -184,7 +184,7 @@ public class ConfigDefinition {
VariableRegistry tmpRegistry = new VariableRegistry();
// store the CRC32 as a built-in variable
tmpRegistry.register(SIGNATURE_HASH, uniqueId.encode());
tmpRegistry.readPrependValues(signaturePrependFile);
tmpRegistry.readPrependValues(signaturePrependFile, false);
state.addDestination(new SignatureConsumer(signatureDestination, tmpRegistry));
}

View File

@ -34,7 +34,7 @@ public class ConfigDefinitionTest {
public static VariableRegistry readRealConfig() throws IOException {
VariableRegistry variableRegistry = new VariableRegistry();
variableRegistry.readPrependValues(FIRMWARE + File.separator + "integration/rusefi_config.txt");
variableRegistry.readPrependValues(FIRMWARE + File.separator + "integration/rusefi_config.txt", true);
return variableRegistry;
}
}

View File

@ -77,7 +77,7 @@ public class VariableRegistryTest {
public void testDefineAndQuotes() throws IOException {
VariableRegistry registry = new VariableRegistry();
registry.readPrependValues(new StringReader("#define SINGLE 'L'\n" +
"#define DOUBLE \"R\""));
"#define DOUBLE \"R\""), false);
assertEquals("hello L R 'L' \"R\"", registry.applyVariables("hello @#SINGLE#@ @#DOUBLE#@ @@SINGLE@@ @@DOUBLE@@"));
}
}

View File

@ -110,7 +110,7 @@ public class ReaderStateImpl implements ReaderState {
public void doJob() throws IOException {
for (String prependFile : prependFiles)
variableRegistry.readPrependValues(prependFile);
variableRegistry.readPrependValues(prependFile, false);
/*
* this is the most important invocation - here we read the primary input file and generated code into all

View File

@ -28,7 +28,7 @@ public class ToJavaEnum {
VariableRegistry registry = new VariableRegistry();
for (String fileName : invokeReader.getDefinitionInputFiles())
registry.readPrependValues(fileName);
registry.readPrependValues(fileName, true);
StringBuilder sb = new StringBuilder();

View File

@ -59,11 +59,11 @@ public class VariableRegistry {
return token;
}
public void readPrependValues(String prependFile) throws IOException {
readPrependValues(new FileReader(RootHolder.ROOT + prependFile));
public void readPrependValues(String prependFile, boolean ignoreUnexpectedLined) throws IOException {
readPrependValues(new FileReader(RootHolder.ROOT + prependFile), ignoreUnexpectedLined);
}
public void readPrependValues(Reader fileReader) throws IOException {
public void readPrependValues(Reader fileReader, boolean ignoreUnexpectedLined) throws IOException {
BufferedReader definitionReader = new BufferedReader(fileReader);
String line;
while ((line = definitionReader.readLine()) != null) {
@ -75,7 +75,7 @@ public class VariableRegistry {
continue;
if (ToolUtil.startsWithToken(line, DEFINE)) {
processDefine(line.substring(DEFINE.length()).trim());
} else {
} else if (!ignoreUnexpectedLined) {
throw new IllegalStateException("Unexpected line while prepending: " + line);
}
}

View File

@ -187,7 +187,7 @@ public class EnumToStringTest {
"}brain_pin_e; // hello");
VariableRegistry registry = new VariableRegistry();
registry.readPrependValues(new StringReader("#define XXXX 0"));
registry.readPrependValues(new StringReader("#define XXXX 0"), false);
EnumsReader enumsReader = new EnumsReader().read(reader);
for (Map.Entry<String /*enum name*/, EnumsReader.EnumState> e : enumsReader.getEnums().entrySet()) {
@ -212,7 +212,7 @@ public class EnumToStringTest {
"}brain_pin_e; // hello");
VariableRegistry registry = new VariableRegistry();
registry.readPrependValues(new StringReader("#define XXXX 12"));
registry.readPrependValues(new StringReader("#define XXXX 12"), false);
EnumsReader enumsReader = new EnumsReader().read(reader);
for (Map.Entry<String /*enum name*/, EnumsReader.EnumState> e : enumsReader.getEnums().entrySet()) {