public EvaluatedTemplate(Codetemplate template) { TemplateBody body = template.getBody(); StringBuilder buffer = new StringBuilder(); StringBuilder original = new StringBuilder(); mappedOffsetHints = Lists.newArrayList(); int lastOffset = 0; for(TemplatePart part: body.getParts()) { ICompositeNode node = NodeModelUtils.getNode(part); if (node != null) { mappedOffsetHints.add(Tuples.create(buffer.length(), node.getTotalOffset())); lastOffset = node.getTotalOffset() + node.getTotalLength(); original.append(node.getText()); if (part instanceof Literal) { buffer.append(((Literal) part).getValue()); } else if (part instanceof Dollar) { buffer.append("$"); } else if (part instanceof Variable) { if (((Variable) part).getName() != null) { buffer.append(((Variable) part).getName()); } } } } mappedOffsetHints.add(Tuples.create(buffer.length(), lastOffset)); evaluatedResult = buffer.toString(); originalTemplate = original.toString(); }
String type = variable.getType(); if (type == null) type = variable.getName(); while(resolvers.hasNext()) { final TemplateVariableResolver resolver = resolvers.next();
if (defaultResolvers.contains(variable.getName())) { List<INode> nameNodes = NodeModelUtils.findNodesForFeature(variable, TemplatesPackage.Literals.VARIABLE__NAME); for(INode nameNode: nameNodes) {