aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/makamys/neodymium/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/makamys/neodymium/util')
-rw-r--r--src/main/java/makamys/neodymium/util/Preprocessor.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/makamys/neodymium/util/Preprocessor.java b/src/main/java/makamys/neodymium/util/Preprocessor.java
index d2fb0ba..cd5d8df 100644
--- a/src/main/java/makamys/neodymium/util/Preprocessor.java
+++ b/src/main/java/makamys/neodymium/util/Preprocessor.java
@@ -1,10 +1,11 @@
package makamys.neodymium.util;
+import java.util.Map;
import java.util.Set;
public class Preprocessor {
- public static String preprocess(String text, Set<String> defines) {
+ public static String preprocess(String text, Map<String, String> defines) {
String[] lines = text.replaceAll("\\r\\n", "\n").split("\\n");
IfElseBlockStatus ifElseBlockStatus = IfElseBlockStatus.NONE;
@@ -17,7 +18,7 @@ public class Preprocessor {
if(line.startsWith("#ifdef ")) {
ifElseBlockStatus = IfElseBlockStatus.IF;
- ifElseConditionMet = defines.contains(line.split(" ")[1]);
+ ifElseConditionMet = defines.containsKey(line.split(" ")[1]);
commentLine = true;
} else if(line.startsWith("#else")) {
ifElseBlockStatus = IfElseBlockStatus.ELSE;
@@ -36,6 +37,11 @@ public class Preprocessor {
if(commentLine) {
lines[i] = "//" + line;
+ } else {
+ for (Map.Entry<String, String> define: defines.entrySet()) {
+ line = line.replace(define.getKey(), define.getValue());
+ }
+ lines[i] = line;
}
}