if (macro == null) {
throw new InterpretationException(source, indexInSource, "Could not find macro '" + attributeRef.getMethodName() + "'");
}
if (attributeRef.hasMethodArguments()) {
macro.populateDataArguments(attributeRef.getMethodArguments().getArguments());
}
if (macro.getBlock() == null) {
throw new InterpretationException(source, indexInSource, "Missing return statement for function '" + macro.getName() + "'");
}