only:setConfigValueByName returns bool

This commit is contained in:
Andrey 2023-06-27 14:49:21 -04:00
parent 94c8f4881b
commit 50134d075b
3 changed files with 14 additions and 8 deletions

View File

@ -39,7 +39,10 @@ T* findPair(const char *name, T array[TCount], size_t count) {
}
float getConfigValueByName(const char *name);
void setConfigValueByName(const char *name, float value);
/**
* @return true if name was recognized, false otherwise
*/
bool setConfigValueByName(const char *name, float value);
float getOutputValueByName(const char *name);
void * hackEngineConfigurationPointer(void *ptr);

View File

@ -50,13 +50,14 @@ public class GetConfigValueConsumerTest {
"\t\tcase -672272162:\n" +
"\t{\n" +
"\t\tconfig->iat.config.tempC_1 = value;\n" +
"\t\treturn;\n" +
"\t\treturn 1;\n" +
"\t}\n" +
"\t\tcase -1237776078:\n" +
"\t{\n" +
"\t\tconfig->iat.adcChannel = (int)value;\n" +
"\t\treturn;\n" +
"\t\treturn 1;\n" +
"\t}\n" +
"return 0;\n" +
"\t}\n", getConfigValueConsumer.getSetterBody());
assertEquals("// generated by GetConfigValueConsumer.java\n" +
@ -74,19 +75,20 @@ public class GetConfigValueConsumerTest {
"\t}\n" +
"\treturn EFI_ERROR_CODE;\n" +
"}\n" +
"void setConfigValueByName(const char *name, float value) {\n" +
"bool setConfigValueByName(const char *name, float value) {\n" +
"\tint hash = djb2lowerCase(name);\n" +
"\tswitch(hash) {\n" +
"\t\tcase -672272162:\n" +
"\t{\n" +
"\t\tconfig->iat.config.tempC_1 = value;\n" +
"\t\treturn;\n" +
"\t\treturn 1;\n" +
"\t}\n" +
"\t\tcase -1237776078:\n" +
"\t{\n" +
"\t\tconfig->iat.adcChannel = (int)value;\n" +
"\t\treturn;\n" +
"\t\treturn 1;\n" +
"\t}\n" +
"return 0;\n" +
"\t}\n" +
"}\n", getConfigValueConsumer.getContent());

View File

@ -39,7 +39,7 @@ public class GetConfigValueConsumer implements ConfigurationConsumer {
"float getConfigValueByName(const char *name) {\n";
static final String GET_METHOD_FOOTER = "\treturn EFI_ERROR_CODE;\n" + "}\n";
private static final String SET_METHOD_HEADER = "void setConfigValueByName(const char *name, float value) {\n";
private static final String SET_METHOD_HEADER = "bool setConfigValueByName(const char *name, float value) {\n";
private static final String SET_METHOD_FOOTER = "}\n";
private final List<VariableRecord> variables = new ArrayList<>();
private final String outputFileName;
@ -110,7 +110,7 @@ public class GetConfigValueConsumer implements ConfigurationConsumer {
private String getAssignment(String cast, String value) {
return "\t{\n" + "\t\t" + value + " = " + cast +
"value;\n" +
"\t\treturn;\n\t}\n";
"\t\treturn 1;\n\t}\n";
}
@NotNull
@ -163,6 +163,7 @@ public class GetConfigValueConsumer implements ConfigurationConsumer {
setterBody.append(str);
}
}
switchBody.append("return 0;\n");
String fullSwitch = GetOutputValueConsumer.wrapSwitchStatement(switchBody);