BuildScript/scripts/Core/LineConveyor/MacroResolver.py

20 lines
501 B
Python

class MacroResolver:
def __init__(self, macroProcessor, valueProvider):
assert macroProcessor is not None
assert valueProvider is not None
self.macroProcessor = macroProcessor
self.valueProvider = valueProvider
def processLine(self, line):
assert line is not None
symbols = self.macroProcessor.getSymbols(line)
for sym in symbols:
macro = self.macroProcessor.getMacroByName(sym)
value = self.valueProvider.getValueFor(sym)
line = line.replace(macro, value)
return line