/** * Some extra information is needed per variable inside the snippet to generate the parts. This * information is wrapped in an extra * * <p>Build the set of template wrappers for the input variables of the loop * * @return */ public List<TemplateInputVariable> getTemplateAccessesWrappers() { // TODO: Unit test for this if (templateAccessesWrappers != null) return templateAccessesWrappers; ArrayList<TemplateInputVariable> result = new ArrayList<>(); for (CtVariableAccess access : getAccesses()) { TemplateInputVariable var = new TemplateInputVariable(); var.initialize(this, access); if (printer instanceof DefaultJavaPrettyPrinter) { var.setPrinter(new DefaultJavaPrettyPrinter(astElement.getFactory().getEnvironment())); } else var.setPrinter(new AJMHPrettyPrinter(this)); result.add(var); } boolean canSerializeThiz = getPreconditions().checkTypeRef(getASTElement().getParent(CtClass.class).getReference()); if (canSerializeThiz && getMustSerializeThiz()) { // astElement.getFactory().Code().createVariableAccess() TemplateInputVariable thiz = new TemplateInputVariable(); thiz.initializeAsThiz(this); if (printer instanceof DefaultJavaPrettyPrinter) { thiz.setPrinter(new DefaultJavaPrettyPrinter(astElement.getFactory().getEnvironment())); } else thiz.setPrinter(new AJMHPrettyPrinter(this)); result.add(thiz); } templateAccessesWrappers = result; return result; }