Basically, you should set up the type parameters in the model instead of creating it in a string. For that, we use the following construct in EMF-IncQuery:
it.parameters += pattern.toParameter("processor",
pattern.newTypeRef(typeof (IMatchProcessor),
cloneWithProxies(matchClassReference).wildCardSuper))
Here, cloneWithProxies is provided by the JvmTypesBuilder (can be injected), while wildCardSuper is a helper method written by us:
public JvmWildcardTypeReference wildCardSuper(JvmTypeReference clone) {
JvmWildcardTypeReference result = factory.createJvmWildcardTypeReference();
JvmLowerBound lowerBound = factory.createJvmLowerBound();
lowerBound.setTypeReference(clone);
result.getConstraints().add(lowerBound);
return result;
}