From fbe408c777dcf6ea5d2d784b739287d6db2bf52c Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Tue, 28 Nov 2023 09:41:56 +0100 Subject: abstraction layer for attribute index/stride/offset --- src/main/java/makamys/neodymium/util/Preprocessor.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/main/java/makamys/neodymium/util/Preprocessor.java') 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 defines) { + public static String preprocess(String text, Map 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 define: defines.entrySet()) { + line = line.replace(define.getKey(), define.getValue()); + } + lines[i] = line; } } -- cgit