INRIA/spoon

add support for inline templates

Aberta

#3.118 aberto em 22 de set. de 2019

 (9 comentários) (0 reação) (0 responsável)Java (383 forks)github user discovery
good first issueroadmap

Métricas do repositório

Stars
 (1.933 estrelas)
Métricas de merge de PR
 (Mesclagem média 19d 11h) (49 fundiu PRs em 30d)

Description

inline templates:

  • with anonymous classes
  • with lambda

Inline templates

Templates can be made inline, if the source code of the transformation is passed appropriately, as an anonymous class, as follows:

// example of inline template definition + instantiation
Template t = new StatementTemplate() {
	TemplateParameter<Collection<?>> _col_ = createVariableAccess(method.getParameters().get(0));
	@Override
	public void statement() {
		if (_col_.S().size() > 10)
			throw new OutOfBoundException();
	}
}; // end of inline template
CtStatement injectedCode = t.apply();

Guia do colaborador