if (scope == null || engine == null) {
return null;
}
final List<TemplateField> variables = new ArrayList<TemplateField>();
final IElementResolver resolver = ModelAccess.getElementResolver(SymfonyLanguageToolkit.getDefault());
// handle twig variables
if (!varName.startsWith("$")) {
varName = "$" + varName;
}
engine.search(ISymfonyModelElement.TEMPLATE_VARIABLE, viewPath, varName, 0, 0, 100, SearchFor.REFERENCES, MatchRule.EXACT, scope, new ISearchRequestor() {
@Override
public void match(int elementType, int flags, int offset, int length,
int nameOffset, int nameLength, String elementName,
String metadata, String doc, String qualifier, String parent,
ISourceModule sourceModule, boolean isReference) {
IModelElement element = resolver.resolve(elementType, flags, offset, length, nameOffset, nameLength, elementName, metadata, doc, qualifier, parent, sourceModule);
if (element != null) {
if (element instanceof TemplateField)
variables.add((TemplateField) element);
}